使用 Python 与 SQLite 进行交互非常方便。SQLite 是一个轻量级的关系数据库,Python 标准库中包含一个名为
sqlite3
的模块,可以直接使用。
import sqlite3
数据库连接和管理
连接到 SQLite 数据库。如果数据库文件不存在,则创建一个新数据库文件
sqlite3.connect(database[, timeout, detect_types, isolation_level, check_same_thread, factory, cached_statements, uri])
-
参数:
-
database
(str):数据库文件路径。如果使用:memory:
,则创建一个内存数据库 -
timeout
(float, 可选):数据库操作的超时时间,以秒为单位。默认为 5.0 秒 -
detect_types
(int, 可选):启用列类型检测。默认值为 0 -
isolation_level
(str, 可选):事务隔离级别。默认为None
(自动提交模式) -
check_same_thread
(bool, 可选):是否只允许单个线程访问数据库连接。默认为True
-
factory
(可选):用于创建连接的工厂函数。默认为sqlite3.Connection
-
cached_statements
(int, 可选):SQLite 语句缓存大小。默认为 100 -
uri
(bool, 可选):是否解释database
参数为 URI。默认为False
-
-
返回值:一个数据库连接对象 (
sqlite3.Connection
)
提交当前事务,将所有未保存的更改写入数据库
Connection.commit()
- 参数:无
- 返回值:无
回滚当前事务,撤销所有未提交的更改
Connection.rollback()
- 参数:无
- 返回值:无
关闭数据库连接。关闭后,不能再使用此连接对象
Connection.close()
- 参数:无
- 返回值:无
游标管理
创建并返回一个游标对象,用于执行 SQL 语句
Connection.cursor()
- 参数:无
- 返回值:一个游标对象 (
sqlite3.Cursor
)
Cursor.close()
- 参数:无
- 返回值:无
SQL语句执行
执行一条 SQL 语句
Cursor.execute(sql, parameters=())
-
参数
-
sql
(str):要执行的 SQL 语句 -
parameters
(tuple, 可选):SQL 语句的参数。默认为空元组
-
-
返回值:游标对象本身
执行多条带参数的 SQL 语句
Cursor.executemany(sql, seq_of_parameters)
-
参数:
-
sql
(str):要执行的 SQL 语句 -
seq_of_parameters
(sequence):参数序列
-
-
返回值:游标对象本身
获取查询结果
获取查询结果的所有行
Cursor.fetchall()
-
参数:无
-
返回值:包含所有行的列表,每行表示为一个元组。
获取查询结果的下一行
Cursor.fetchone()
-
参数:无。
-
返回值:表示下一行的元组。如果没有更多行,则返回
None
。