【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。

示例

相关推荐
BK贝壳3 小时前
亿级用户签到位图选型复盘:用 bool-hybrid-array 扛冷启动打卡,也把它和 Roaring/Redis 的边界测清楚了
数据结构·python·性能优化·numpy
2601_966949654 小时前
如何根据研究的起止时间截取分钟级行情?Python 实战与 QuantDash 数据处理指南
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash
在世修行9 小时前
智学文枢:页面切换与跨页数据预填
python·桌面应用·signal·1024程序员节·pyside·跨页跳转·状态预填
2601_962885729 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
打工仔折腾 AI9 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
信誓旦旦的程序猿10 小时前
【Python量化实战宝典 #21】北向资金跟随手册:聪明钱择时信号(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
严谨的麻辣烫10 小时前
静态 ISP 代理请求超时怎么排查?Python 与 curl 实战
python·http·requests·1024程序员节·网络排障
KeepRobots12 小时前
11-01 温哥华不回拨:用 60 行 Python 查你的工单系统会不会差一小时(KeepRobots 工程笔记)
python
xiao77mwq12 小时前
你以为 OCR 慢?实测 81.3 s 里全是故障代价:如何把「定格态」消掉,让耗时从 6.5 s 到 13 倍差距显出原形
python
深圳市益普科技有限公司12 小时前
半导体良率管理YMS:良率与设备参数的相关性,先拉哪几组数据
人工智能·python·算法