sqlite3是使用文件作为数据库,它属于轻量级数据库,支持在多平台下使用。
SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月. 至今已经有10个年头,SQLite也迎来了一个版本 SQLite 3已经发布。
在python语言中使用sqlite的方法如下:
1. 引用sqlite3数据库
import sqlite3
2. 是欧诺有sqlite的connect()方法创建数据库(如果数据库不存在的情况下)或打开数据库,可以在这个方法中数据的编码格式,例:
#连接tat.db数据库
conn = sqlite3.connect('/home/ubuntu/tat.db',encoding=‘cp936’)
cp936是python中自带的编码格式,其实也就是GBK编码。
3. 常用的方法
上述的数据库对象conn常用的操作有:
commit() --------------------事物提交
rollback()-------------------事物回滚
close() ---------------------关闭一个数据连接
cursor() --------------------创建一个游标
创建的游标对象,可以执行sql语句等方法,例:
execute()----------------------执行sql语句
executemany()------------------执行多条sql语句
close() -----------------------关闭游标
fetchone()---------------------从结果中取一条记录
fetchmany()--------------------从结果中取多条语句
fetchall()---------------------从结果中取所有的记录
scroll()-----------------------游标滚动
4. 关于sql语句建表和数据库的增删改查操作与MYsql数据库相同
#!/usr/bin/python
#-*- coding: utf-8 -*-
import sqlite3
#连接数据库tat
conn = sqlite3.connect('/home/ubuntu/tat.db')
#设置事务隔离级别,默认用户修改数据需要commit才能修改成功,设置为None则每次修改都自动提交,否则为"" #conn.isolation_level = None
#获取到游标对象
cu = conn.cursor()
#创建一个表
cu.execute('''create table if not exists user(
id integer primary key autoincrement,
name varchar(10))''')
#插入数据
cu.execute('insert into user(name) values("jordy")')
#如果隔离级别不是自动提交就需要手动执行commit
conn.commit()
#用游标来查询就可以获取到结果
cu.execute("select * from user")
#获取所有结果
res = cu.fetchall()
for row in res:
print row[0],row[1].encode('utf-8')
#更新语句
cu.execute('update user set name="邪少" where id=2')
conn.commit()
#删除语句
cu.execute('delete from user where id=1')
conn.commit()
附 sqlite3官方网站: http://docs.python.org/library/sqlite3.html#sqlite3-controlling-transactions