官方文档:
sqlite3是使用文件作为数据库,它属于轻量级数据库,支持在多平台下使用。
在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()