Python 操作 SQLite
一、导入sqlite数据库模块
从Python2.5以后,sqlite3成为内置模块,不需要额外安装,只需要导入即可
import sqlite3
二、创建/打开数据库
sqlite3模块中使用connect方法创建/打开数据库,需要指定数据库路径。若数据库存在则打开,不存在则创建一个新的数据库
con = sqlite3.connect("/home/DataBases/user.db")
不仅可以在硬盘上创建数据库文件,还可以在内存中创建
con = sqlite3.connect(":memory:")
三、数据库连接对象
通过connect方法返回的con对象,就是数据库连接对象,它提供了以下方法:
cursor() : 创建游标对象
commit() : 提交事务
rollback() : 事务回滚
close(): 关闭数据库连接
四、游标对象
对数据库的查询需要使用游标对象,创建游标对象的方法是:
cur = con.cursor()
游标对象有以下方法支持数据库的操作
execute():用来执行sql语句
executemany():用来执行多条sql语句
close():关闭游标
fetchone():用来从结果中取一条记录,并将游标指向下一条记录
fetchmany():从结果中取多条记录
fetchall():从结果中取出所有记录
scroll():游标回滚
五、建表
cur.execute(‘create table person (id integer primary key,name varchar(20),age integer’)
六、插入数据
1、构造一个插入语句:容易导致SQL注入(不提倡)
data = "3,'王小五',25"
cur.execute('insert into person values (%s)'%data)
con.commit()
2、使用站位符:?
cur.execute('insert into person values (?,?,?)',(4,'赵小六',22))
con.commit()
3、一次插入多条记录
cur.executemany('insert into person values (?,?,?)',[(5,'赵小六',22),(6,'张消费',25),(7,'BBB',33)])
con.commit()
七、修改数据
cur.execute('update person set name=? where id=?',('长孙无极',1))
con.commit()
八、删除数据
cur.execute('delete from person where id=?',(2,))
con.commit()
九、查询所有数据
cur.execute('select * from person')
res = cur.fetchall()
for line in res:
print(line)