1.导入Python SQLITE数据库模块
语法:import sqlite3
2. 创建/打开数据库
在调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开。
语法:cx=sqlite3.connect("E:/test.db")
也可以创建数据库在内存中。
语法:con=sqlite3.connect(":memory:")
3.数据库连接对象
打开数据库时返回的对象cx就是一个数据库连接对象,它可以有以下操作:
commit()--事务提交
rollback()--事务回滚
close()--关闭一个数据库连接
cursor()--创建一个游标
4.使用游标查询数据库
我们需要使用游标对象SQL语句查询数据库,获得查询对象。 通过以下方法来定义一个游标。
cu=cx.cursor()
游标对象有以下的操作:
execute()--执行sql语句
executemany--执行多条sql语句
close()--关闭游标
fetchone()--从结果中取一条记录,并将游标指向下一条记录
fetchmany()--从结果中取多条记录
fetchall()--从结果中取出所有记录
scroll()--游标滚动
建表:cu.execute("create table catalog (id integer primary key,pid integer,name varchar(10) UNIQUE,nickname text NULL)")
创建了一个叫catalog的表,它有一个主键id,一个pid,和一个name,name是不可以重复的,以及一个nickname默认为NULL。
插入数据:
for t in [(0,10,'abc','Yu'),(1,20,'cba','Xu')]:
cu.execute("insert into catalog values (?,?,?,?)", t)
cx.commit()
提醒:插入数据后,一定要提交后才能生效。
查询:
cu.execute("select * from catalog")
要提取查询到的数据,使用游标的fetch函数,如:
cu.fetchall()
修改:
cu.execute("update catalog set name='Boy' where id = 0")
cx.commit()
删除:
cu.execute("delete from catalog where id = 1")
cx.commit()