sqlite是一个开源嵌入式数据库软件,它可以嵌入到其他程序中使用,并且提供SQL接口用来查询,非常方便。
对数据库的操作基本模式如下:
1. 用db.connect 创建数据库连接, 假设连接对象为conn
2. 如果该数据库操作不需要返回结果,就直接用conn.execute 查询,根据数据库事务隔离
级别的不同, 可能修改数据库需要conn.commit
3. 如果需要返回查询结果则用conn.cursor 创建游标对象cur, 通过cur.execute 查询数据
库, 用cur.fetchall/cur.fetchone/cur.fetchmany 返回查询结果。根据数据库事 务隔离级别
的不同, 可能修改数据库需要conn.commit
4. 关闭cur, conn
python中使用sqlite数据库需要的基本代码如下:
import sqlite3 #将sqlite3模块导入到程序中
conn=sqlite3.connect(“c:\\test.db")#1、括号中的是要打开的数据库的具体路径,路径可根据你存储程序的路径进行简写 2、此句的作用就是在c盘路径下打开test.db这个数据库,如果c盘目录下没有此数据库,系统会自动生成这个数据库文件 3、conn是链接对象,可自主命名
conn.isolation_level = None #1、这个就是事务隔离级别,默认是需要自己commit 才能修改数据库, 置为None 则自动每次修改都提交,否则为"" 2、这个设置应该受到重视,如果在处理数据库时,没有提交以前的操作,很可能你以前对数据库的操作就是白费力
conn.execute("create table if not exists t1(id int unique primary key, name text,screen_name char”)#1、在数据库中建立一个表名字是:t1,表里面的参数有三个id、name、screen_name,格式分别是int、text,char,这里的参数id是作为表t1的唯一值存储 2、在建立数据库的表内个参数的时候,应该先考虑好应该对各个参数存储什么格式的,便于以后对数据库的检索
cur = conn.cursor()# 获取到游标对象,来对数据库数据进行查询、插入、删除等操作
cur.execute("insert into t1(id,name,screen_name)values ( 1234567,'test', 'only a test')")#1、这个语句的功能就是向数据库中插入数据,数据的格式和参数按建立数据库时参数和格式对应
conn.commit()#如果隔离级别不是自动提交就需要手动执行commit
cur.execute("select * from t1")# 用游标来查询就可以获取到结果,如果需要精确查询可在括号内加上 where 参数(id)=精确查找的条件(1234567)
res = cur.fetchall()# 获取所有结果,此时的res为一个二维列表
cur.execute("DELETE FROM t1 WHERE id=1234567")#删除表t1中id=1234567的项
cur.close()#关闭游标
conn.close()#关闭连接对象
总结:python对sqlite的操作是非常简单的,主要是在构造数据的格式上面应该注意。
说明:代码红色部分为使用sqlite数据的基本代码,蓝色部分为根据自己对数据库的操作需求自行选择的语句。