[控场AI]
产品

sqlite3

Python 标准库中用于操作 SQLite 数据库的模块,提供符合 DB-API 2.0 规范的接口,是 Python 开发者访问 SQLite 的默认方式。

时间轴 (近 90 天)

10月29日

在Python的sqlite3中,fetchone()每次调用返回下一行,取完后再调用返回None;fetchall()一次性返回剩余所有行组成的列表,没有数据时返回空列表。

待验证50%
10月29日

Python的sqlite3模块中,connect()返回一个连接对象,是程序与数据库之间的活链接。

待验证50%
10月29日

cursor()创建游标对象,负责发送SQL并逐行遍历结果。

待验证50%
10月29日

execute()一次只能执行一条SQL语句;将多条语句放入同一个execute()会触发ProgrammingError。

待验证50%
10月29日

在Python的sqlite3中,插入操作会开启一个事务;不调用commit()就关闭连接,未提交的改动会被丢弃,但建表(DDL)语句会立即生效并幸存。

待验证50%
10月29日

在Python 3.6及之后版本中,sqlite3的isolation_level默认值为"DEFERRED",事务在第一次执行数据修改语句时开始,直到显式调用commit()或rollback()才结束。

待验证50%
10月17日

惰性游标是许多数据库驱动的常见陷阱:例如Python的sqlite3中,`execute()`返回的游标不会立即取回全部结果,若未调用`fetchall()`或迭代游标,查询可能未被完整消费且不抛异常。

待验证50%
10月13日

sqlite3 的接口是为通用性和规范性设计的,而非为日常使用的便捷性设计,导致开发者需要反复编写建连接、创建游标、执行 SQL、遍历结果元组、手动映射为字典或对象、处理提交回滚、关闭连接等样板代码。

待验证50%
10月13日

即便使用 row_factory 将结果转为 sqlite3.Row 对象,bool、日期、JSON 字段等类型转换仍需手写。

待验证50%
10月11日

sqlite3、psycopg2、pymysql等库都实现了DB-API 2.0规范

待验证50%

还有 2 条时间轴事件

全部知识事实 (13)

待验证

macOS上sqlite3等内置REPL使用的是libedit而非readline,这是其交互体验较差的原因

90%
待验证

在Python的sqlite3中,fetchone()每次调用返回下一行,取完后再调用返回None;fetchall()一次性返回剩余所有行组成的列表,没有数据时返回空列表。

50%
待验证

Python的sqlite3模块中,connect()返回一个连接对象,是程序与数据库之间的活链接。

50%
待验证

cursor()创建游标对象,负责发送SQL并逐行遍历结果。

50%
待验证

execute()一次只能执行一条SQL语句;将多条语句放入同一个execute()会触发ProgrammingError。

50%
待验证

在Python的sqlite3中,插入操作会开启一个事务;不调用commit()就关闭连接,未提交的改动会被丢弃,但建表(DDL)语句会立即生效并幸存。

50%
待验证

在Python 3.6及之后版本中,sqlite3的isolation_level默认值为"DEFERRED",事务在第一次执行数据修改语句时开始,直到显式调用commit()或rollback()才结束。

50%
待验证

惰性游标是许多数据库驱动的常见陷阱:例如Python的sqlite3中,`execute()`返回的游标不会立即取回全部结果,若未调用`fetchall()`或迭代游标,查询可能未被完整消费且不抛异常。

50%
待验证

sqlite3 的接口是为通用性和规范性设计的,而非为日常使用的便捷性设计,导致开发者需要反复编写建连接、创建游标、执行 SQL、遍历结果元组、手动映射为字典或对象、处理提交回滚、关闭连接等样板代码。

50%
待验证

即便使用 row_factory 将结果转为 sqlite3.Row 对象,bool、日期、JSON 字段等类型转换仍需手写。

50%
待验证

sqlite3、psycopg2、pymysql等库都实现了DB-API 2.0规范

50%
待验证

标准库sqlite3完全没有暴露创建自定义虚拟表的接口,而APSW通过VTTable和VTCursor等类将这套机制完整映射到Python

50%
待验证

对绝大多数应用而言标准库sqlite3是合理的默认选择,APSW更适合构建SQLite扩展、数据库工具及需要榨取SQLite全部性能的场景

50%

来源文章