一个 虚拟表 是一个呈现 SQL 表接口的对象,但它并不直接存储在数据库文件中。虚拟表机制是 SQLite 的一项功能,它允许 SQLite 使用强大的 SQL 查询语言来访问和操作数据库文件之外的资源。
下表列出了 SQLite 可用的几个虚拟表实现。开发人员可以在其自己的应用程序中部署这些虚拟表,或使用下面显示的实现作为编写自己的虚拟表的模板。
以下列表并不详尽。SQLite 源代码树和其他地方还存在其他虚拟表实现。下面的列表试图捕捉更有趣的虚拟表实现。
名称 | 描述 |
---|---|
approximate_match | 演示如何使用虚拟表实现近似字符串匹配。 |
bytecode | 一个 表值函数,显示已准备语句的字节码。 |
carray | 一个 表值函数,允许将 C 语言整数、双精度数或字符串数组用作查询中的表。 |
closure | 计算一组的传递闭包。 |
completion | 在交互式 SQL 输入期间,为部分输入的单词建议完成内容。由 CLI 使用以帮助实现制表符补全。 |
csv | 一个虚拟表,将逗号分隔值或 CSV 文件 (RFC 4180) 表示为只读表,以便将其用作更大查询的一部分。 |
dbstat | 提供有关数据库文件中每个页面的用途和使用情况的信息。在 sqlite3_analyzer 实用程序的实现中使用。 |
files_of_checkin | 提供有关 Fossil 版本控制系统 中单个签入中的所有文件的信息。此虚拟表不是 SQLite 项目的一部分,但包含在内是因为它提供了一个如何使用虚拟表的示例,并且因为它用于帮助版本控制 SQLite 源代码。 |
fsdir | 一个 表值函数,为主机计算机所选文件层次结构中的每个文件返回一行。由 CLI 使用以帮助实现 .archive 命令。 |
FTS3 | 高性能全文搜索索引。 |
FTS5 | 更高性能的全文搜索索引 |
generate_series | 一个 表值函数,返回一系列整数,其模型来自 PostgreSQL 中同名的表值函数。 |
json_each | 一个 表值函数,用于分解 JSON 字符串。 |
json_tree | 一个 表值函数,用于分解 JSON 字符串。 |
OsQuery | 数百个虚拟表,发布主机计算机的各个方面,例如进程表、用户列表、活动网络连接等。OsQuery 是一个独立的项目,由 Facebook 发起,托管在 GitHub 上,旨在用于安全分析和入侵检测。OsQuery 不是 SQLite 项目的一部分,但包含在此列表中,因为它演示了如何利用 SQL 语言和 SQLite 虚拟表机制来为重要的现实世界问题提供优雅的解决方案。 |
pragma | 内置的 表值函数,返回 PRAGMA 语句的结果,以便在普通 SQL 查询中使用。 |
RTree | Guttmann R*Tree 空间索引思想的实现。 |
spellfix1 | 一个实现拼写校正引擎的虚拟表。 |
sqlite_btreeinfo | 这个实验性的 表值函数 提供有关数据库文件中单个 B 树 的信息,例如深度,以及估计的页面数和条目数等。 |
sqlite_dbpage | 原始数据库文件内容的键值存储。键是页面号,值是二进制页面内容。 |
sqlite_memstat | 提供对 sqlite3_status64() 和 sqlite3_db_status() 接口的 SQL 访问。 |
sqlite_stmt | 一个 表值函数,其中包含与打开的 数据库连接 关联的每个 已准备语句 的一行。 |
swarmvtab | 一个实验模块,通过单个虚拟表抽象,提供对分布在多个数据库中的多个表的按需只读访问。 |
tables_used | 一个 表值函数,显示已准备语句访问的表和索引。 |
tclvar | 将 TCL 解释器 的全局变量表示为 SQL 表。用作 SQLite 测试套件的一部分。 |
templatevtab | 一个模板虚拟表实现,可作为想要编写自己的虚拟表的开发人员的起点。 |
unionvtab | 一个实验模块,通过单个虚拟表抽象,提供对分布在多个数据库中的多个表的按需只读访问。 |
vfsstat | 一个 表值函数,它与一个配套的 VFS shim 结合使用,提供有关 SQLite 执行的系统调用次数的信息。 |
vtablog | 一个虚拟表,在其关键方法被调用时在 stdout 上打印诊断信息。旨在用于虚拟表接口的交互式分析和调试。 |
wholenumber | 一个虚拟表返回 1 到 4294967295 之间的所有整数。 |
zipfile | 将 ZIP 存档 表示为 SQL 表。适用于读写。由 CLI 使用以实现读取和写入 ZIP 存档的功能。 |
此页面上次修改于 2023-05-01 21:49:55 UTC