python标准库sqlite3使用
程序员文章站
2022-05-31 08:47:39
...
#引入sqlite3库
import sqlite3
#使用connect方法创建数据库连接(若数据库不存在则新建)
#参数为数据库文件路径及名称(不含路径为脚本所在目录)
#返回connect对象
conn = sqlite3.connect('c:\\test\\test.db') #创建在硬盘上面
conn = sqlite3.connect(':memory:') #创建在内存上面
#设置事务隔离级别,默认需要自己commit,若需要修改为自动提交
conn = sqlite3.connect(':memory:',isolation_level = None)
#execute方法执行sql语句,与mysql基本一致
#drop table删除表,create table添加表
#insert添加记录,update更新记录,delete删除记录,select查询记录
conn.execute("DROP TABLE IF EXISTS company")
#executemany方法执行多条sql语句(可提升执行效率)
datas=[(1,'Lili'),(2,"Tom"),(3,"Bob")]
sql="insert into company values(?,?)"
conn.execute(sql,datas)
#rollback方法事务回滚
conn.rollback()
#commit方法提交更改
conn.commit()
#close方法关闭connect对象
conn.close()
#cursor方法创建游标(读取数据时必须使用游标,非读取时不使用可提高效率)
c=conn.cursor()
#execute方法执行sql语句
c.execute(sql)
#rowcount获取最后一次execute查询返回的记录数或影响的条数
print(c.rowcount())
#lastrowid新增记录的行号
print(c.lastrowid())
#fetchone方法读取一条数据,并将游标移至下一条记录
print(c.fetchone())
#fetchmany方法读取多条数据
print(c.fetchmany(3)[0])
#fetchall方法读取全部数据
print(c.fetchall()[0])
#scroll移动游标
#description返回对表结构的描述
print(c.description())
#close关闭游标
c.close()
#异常处理,注意关闭自动commit
conn.autocommit(False)
try:
c.executemany(sql_insert,datas)
c.execute(sql_update)
c.execute(sql_delete)
conn.commit()
except Exception as e:
print(e)
conn.rollback()
下一篇: 实例详解jQuery实现的弹幕效果