【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

示例

相关推荐
2301_816660213 小时前
PHP怎么处理Eloquent Attribute Inference属性推断_Laravel从数据自动推导类型【操作】
jvm·数据库·python
第一程序员3 小时前
数据工程 pipelines 实践
python·github
知行合一。。。3 小时前
Python--05--面向对象(属性,方法)
android·开发语言·python
郝学胜-神的一滴3 小时前
深度学习必学:PyTorch 神经网络参数初始化全攻略(原理 + 代码 + 选择指南)
人工智能·pytorch·python·深度学习·神经网络·机器学习
qq_372154234 小时前
Go 中自定义类型与基础类型的显式转换规则详解
jvm·数据库·python
LiAo_1996_Y4 小时前
CSS如何实现文字渐变效果_通过background-clip实现艺术字
jvm·数据库·python
2401_887724504 小时前
CSS如何让表单在手机端友好展示_利用Flexbox实现堆叠排版
jvm·数据库·python
zhangchaoxies4 小时前
Layui轮播图(carousel)怎么设置自动播放间隔
jvm·数据库·python
FreakStudio5 小时前
无硬件学LVGL:基于Web模拟器+MiroPython速通GUI开发—布局与空间管理篇
python·单片机·嵌入式·面向对象·并行计算·电子diy
qq_372906936 小时前
如何在 Vuetify 中可靠捕获 Chip 关闭事件(包括键盘触发)
jvm·数据库·python