小巧。快速。可靠。
三者选其二。
虚拟表列表

1. 简介

一个 虚拟表 是一个呈现 SQL 表接口的对象,但它并不直接存储在数据库文件中。虚拟表机制是 SQLite 的一项功能,它允许 SQLite 使用强大的 SQL 查询语言来访问和操作数据库文件之外的资源。

下表列出了 SQLite 可用的几个虚拟表实现。开发人员可以在其自己的应用程序中部署这些虚拟表,或使用下面显示的实现作为编写自己的虚拟表的模板。

以下列表并不详尽。SQLite 源代码树和其他地方还存在其他虚拟表实现。下面的列表试图捕捉更有趣的虚拟表实现。

2. 虚拟表

名称描述
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