【Python】数据处理:SQLite操作

使用 Python 与 SQLite 进行交互非常方便。SQLite 是一个轻量级的关系数据库,Python 标准库中包含一个名为 sqlite3 的模块,可以直接使用。

python 复制代码
import sqlite3

数据库连接和管理

连接到 SQLite 数据库。如果数据库文件不存在,则创建一个新数据库文件

python 复制代码
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)

提交当前事务,将所有未保存的更改写入数据库

python 复制代码
Connection.commit()
  • 参数:无
  • 返回值:无

回滚当前事务,撤销所有未提交的更改

python 复制代码
Connection.rollback()
  • 参数:无
  • 返回值:无

关闭数据库连接。关闭后,不能再使用此连接对象

python\ 复制代码
Connection.close()
  • 参数:无
  • 返回值:无

游标管理

创建并返回一个游标对象,用于执行 SQL 语句

python 复制代码
Connection.cursor()
  • 参数:无
  • 返回值:一个游标对象 (sqlite3.Cursor)
python 复制代码
Cursor.close()
  • 参数:无
  • 返回值:无

SQL语句执行

执行一条 SQL 语句

python 复制代码
Cursor.execute(sql, parameters=())
  • 参数

    • sql (str):要执行的 SQL 语句

    • parameters (tuple, 可选):SQL 语句的参数。默认为空元组

  • 返回值:游标对象本身

执行多条带参数的 SQL 语句

复制代码
Cursor.executemany(sql, seq_of_parameters)
  • 参数:

    • sql (str):要执行的 SQL 语句

    • seq_of_parameters (sequence):参数序列

  • 返回值:游标对象本身

获取查询结果

获取查询结果的所有行

python 复制代码
Cursor.fetchall()
  • 参数:无

  • 返回值:包含所有行的列表,每行表示为一个元组。

获取查询结果的下一行

python 复制代码
Cursor.fetchone()
  • 参数:无。

  • 返回值:表示下一行的元组。如果没有更多行,则返回 None

示例

相关推荐
电饭叔18 分钟前
不含Luhn算法《python语言程序设计》2018版--第8章14题利用字符串输入作为一个信用卡号之二(识别卡号有效)
java·python·算法
观音山保我别报错36 分钟前
列表,元组,字典
开发语言·python
小付爱coding38 分钟前
Claude Code安装教程【windows版本】
java·git·python
高频交易dragon1 小时前
5分钟和30分钟联立进行缠论信号分析
开发语言·python
0思必得01 小时前
[Web自动化] 开发者工具应用(Application)面板
运维·前端·python·自动化·web自动化·开发者工具
我是华为OD~HR~栗栗呀1 小时前
华为OD-C面经-23届学院哦
java·c++·python·华为od·华为·面试
xiaozi41201 小时前
Ruey S. Tsay《时间序列分析》Python实现笔记:综合与应用
开发语言·笔记·python·机器学习
Aspect of twilight1 小时前
PyTorch DDP分布式训练Pytorch代码讲解
人工智能·pytorch·python
@游子1 小时前
Python学习笔记-Day5
笔记·python·学习
棒棒的皮皮1 小时前
【OpenCV】Python图像处理之数字水印
图像处理·python·opencv·计算机视觉