甲虚拟表是一个对象,呈现SQL表接口,但没有存储在数据库中的文件,至少不能直接。虚拟表机制是SQLite的一项功能,该功能允许SQLite使用强大的SQL查询语言访问和操纵数据库文件中除位以外的资源。
下表列出了一些可用于SQLite的虚拟表实现。开发人员可以在自己的应用程序中部署这些虚拟表,或将以下所示的实现用作模板来编写自己的虚拟表。
下面的列表并不详尽。其他虚拟表实现存在于SQLite源代码树和其他地方。下面的列表尝试捕获更有趣的虚拟表实现。
名称 | 描述 |
---|---|
近似匹配 | 演示如何使用虚拟表实现近似字符串匹配。 |
卡雷 | 一个表值函数,允许将C,整数,双精度或字符串数组用作查询中的表。 |
关闭 | 计算集合的传递闭包。 |
完成 | 在交互式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 语句的结果以在普通SQL查询中使用。 |
树 | Guttmann R * Tree空间索引概念的实现。 |
spellfix1 | 一个虚拟表,用于实现拼写校正引擎。 |
sqlite_btreeinfo | 这个实验性的表值函数提供有关数据库文件中单个B树的信息,例如深度,估计的页数和条目数,等等。 |
sqlite_dbpage | 原始数据库文件内容的键/值存储。关键是页码,值是二进制页面内容。 |
sqlite_memstat | 提供对sqlite3_status64()和 sqlite3_db_status()接口的SQL访问。 |
sqlite_stmt | 一个表值函数,对于与打开的数据库连接相关联的每个准备好的语句,其中包含一行 。 |
swarmvtab | 一个实验性模块,通过单个虚拟表抽象,提供对分布在多个数据库中的多个表的按需只读访问。 |
tclvar | 将TCL解释器的全局变量表示 为SQL表。用作SQLite测试套件的一部分。 |
templatevtab | 模板虚拟表实现对于希望编写自己的虚拟表的开发人员而言非常有用 |
unionvtab | 一个实验性模块,通过单个虚拟表抽象,提供对分布在多个数据库中的多个表的按需只读访问。 |
vfsstat | 甲表值函数,其在具有共同封装的组合VFS垫片提供了关于由SQLite的执行系统调用的次数的信息。 |
vtablog | 当调用其关键方法时,在stdout上打印诊断信息的虚拟表。旨在用于虚拟表接口的交互式分析和调试。 |
完整的号码 | 虚拟表返回1到4294967295之间的所有整数。 |
压缩文件 | 将 ZIP存档表示 为SQL表。适用于阅读和写作。通过使用命令行来实现读写ZIP档案的能力。 |