Python数据库编程
(一)SQLite3数据库
一、操作SQLite3数据库
从Python3.x版本开始,在标准库中已经内置了SQLite3模块,它可以支持SQLite3数据库访问和相关的数据库操作。在需要操作SQLite3数据库使,只需在程序中导入SQLite3模块即可。Python语言操作SQLite3数据库的基本流程如所示:
– 导入相关库或模块(SQLite3),使用connect()连接数据库并获取数据库连接对象。它提供了以下方法:
.cursor():该方法用来处理一个游标对象
.commit():该方法用来处理事务提交
.rollback():该方法用来处理事务回滚
.close():该方法用来关闭一个数据库连接
– 使用con.cursor()获取游标对象
– 使用游标对象的方法(exectute()、executemany()、fetchall()等)来操作数据库,实现插入、修改和删除操作、并查询获取显示相关的记录。在Python程序中,连接函数sqlite3.connect()有如下两个常用参数。
二、使用SQLite3创建表
使用sqlite3模块的connect方法来创建/打开数据库,需要指定数据库路径,不存在则创建一个新的数据库。
con = sqlite3.connect(‘e:/sqllitedb/first.db’)
实例:
# 操作SQLite3创建表
"""
步骤:
1.导入模块
2.创建连接 sqlite3.connect()
3.创建游标对象
4.编写创建表的SQL语句
5.执行SQL语句
6.关闭游标,关闭连接
"""
# 导入模块
import sqlite3
# 创建连接
con = sqlite3.connect("D:\学习资料\Python整合\sqlite3Demo\demo.db")
# 创建游标对象
cur = con.cursor()
# 编写创建表的(多条)SQL语句
sql = """create table t_person(
pno INTEGER PRIMARY KEY autoincrement,
pname VARCHAR NOT NULL,
age INTEGER
)"""
# 执行SQL语句
try:
cur.execute(sql)
print("创建表成功")
except Exception as e:
print(e)
print("创建表失败")
finally:
# 关闭游标
cur.close()
# 关闭连接,释放资源
con.close()
三、使用SQLite3插入数据
调用游标对象的execute执行插入的SQL,使用executemany()执行多条SQL语句,使用executemany()比循环使用execute()执行多条SQL语句效率高。
实例:插入一条和多条数据
# 操作SQLite3数据库插入一条数
import sqlite3
con = sqlite3.connect("D:\学习资料\Python整合\sqlite3Demo\demo.db")
cur = con.cursor()
sql = "insert into t_person(pname,age) values(?,?)"
try:
cur.execute(sql, ("张三", 21))
# 提交事务
con.commit()