各种有趣和有用的功能

您需要导入 apsw.ext 使用此模块。 dataclasses ,并且仅支持Python3.7+。

漂亮的印刷品

format_query_table() 生成格式良好的查询输出-请参阅 the example

记录和回溯

您可以使用 log_sqlite() 将SQLite日志消息转发到 logging 模块。

print_augmented_traceback() 以常规方式打印异常,但也包括局部变量,该变量 APSW includes 以使调试更快、更容易。

虚拟表格

使用 index_info_to_dict() 得到 apsw.IndexInfo 以一种更易于打印和处理的格式。

使用 make_virtual_module() 轻松地将一个Python函数转换为一个虚拟表源。

generate_series()generate_series_sqlite() 提供 generate_series

按列名访问结果行

看见 the example

使用 apsw.ext.DataClassRowFactory 作为一名 apsw.Connection.rowtrace 对于整个连接,或 apsw.Cursor.rowtrace 用于特定的游标。

将类型转换为SQLite或从SQLite中转换

SQLite仅存储和返回5种类型:

  • 集成

  • 浮动

  • 应力

  • 字节数

使用 TypesConverterCursorFactory AS apsw.Connection.cursor_factory 调整进入SQLite的值,并将其转换出来。看见 the example

要将值转换为SQLite,请执行以下任一操作:

  • 继承自 apsw.ext.SQLiteTypeAdapter 并定义一个 to_sqlite_value 类上的方法

  • 打电话 TypesConverterCursorFactory.register_adapter() 具有类型和适配器功能的

要适应来自SQLite的值,请执行以下操作:

  • 打电话 TypesConverterCursorFactory.register_converter() 具有表中的确切类型字符串和一个转换器函数

详细查询信息

SQLite可以提供大量有关查询的信息。这个 query_info() 函数可以为您收集它们。这包括:

  • readonly 如果查询没有进行直接更改

  • first_query 如果提供多个查询

  • actions 引用了哪些数据库、表、列、函数、视图等-请参阅 actions

  • query_plan 使用哪些索引、表扫描等来查找查询结果-请参阅 query plans

  • explain 有关在SQLite中执行的低级别步骤,请参见 SQLite bytecode

看见 the example

API参考