小巧、快速、可靠。
任意選擇三項。
虛擬表格清單

1. 簡介

虛擬表格 是一個物件,提供 SQL 表格介面,但並未儲存在資料庫檔案中,至少不是直接儲存。虛擬表格機制是 SQLite 的一項功能,讓 SQLite 可以使用強大的 SQL 查詢語言存取和操作資料庫檔案中的位元以外的資源。

下表列出一些可供 SQLite 使用的虛擬表格實作。開發人員可以在自己的應用程式中部署這些虛擬表格,或使用下方顯示的實作作為撰寫自己虛擬表格的範本。

以下清單並非詳盡無遺。其他虛擬表格實作存在於 SQLite 原始碼樹和其他地方。以下清單嘗試擷取較有趣的虛擬表格實作。

2. 虛擬表格

名稱說明
approximate_match 示範如何使用虛擬表格實作近似字串比對。
bytecode 一個表格值函數,顯示已準備好陳述式的位元組碼。
carray 一個表格值函數,允許將 C 語言陣列的整數、雙精度浮點數或字串用作查詢中的表格。
closure 計算集合的傳遞閉包。
completion 在互動式 SQL 輸入期間,建議部分輸入字詞的完成。由 CLI 用於協助實作 tab 完成。
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 提供 SQL 存取 sqlite3_status64()sqlite3_db_status() 介面。
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