適用於 Mac、iPhone與iPad 的 SQLite 用戶端
從 Finder、拖放或 SSH 伺服器開啟資料庫檔案,使用 App 內建 SQLite 查詢,並透過執行前檢閱的重建指令碼修改結構。
適用於 Mac、iPhone與iPadMac App 內建驅動程式
概覽
- 查詢語言
- SQL
- 驅動程式
- 隨 Mac App 內建
- 連線方式
- 檔案
- 內建引擎
- SQLite 3.53.4
- iPhone 與 iPad
- 可開啟


開啟資料庫檔案
在連線表單選擇檔案,或拖到 TablePro 視窗或 Dock 圖像。不存在的檔案路徑會在連線時建立。無論檔名是什麼,開頭位元組為 SQLite format 3 時便以 SQLite 開啟。
Finder 會在 .db、.sqlite、.sqlite3 等檔案的「打開檔案的應用程式」中列出 TablePro。Messages、Safari 歷史等受 macOS 保護檔案夾中的資料庫,需要先授予完整磁碟存取權,通常也需結束所屬 App。
其他機器上的資料庫透過 Remote File 面板 (英文)開啟。On the Server 透過 SSH 對即時檔案執行陳述式,主機除 python3 外無須安裝任何內容。As a Read-Only Copy 經 SFTP 取得快照並唯讀開啟。
可先選擇 Help > Open Sample Database,開啟 App 附帶的小型數位音樂商店範例 Chinook。
查詢與編輯
驅動程式內建 SQLite,不論 macOS 版本,SQL 均在同一版本執行。EXPLAIN QUERY PLAN 繪製為圖形。
可依列出順序為每個連線載入 sqlite-vec、SpatiaLite 等擴充功能,其函式和虛擬資料表可用於編輯器、側欄和 Structure 分頁。SQL 函式 load_extension() 仍被拒絕,透過同步、匯入連線或連結傳入的清單,在核准前不會載入任何擴充功能。
列編輯暫存至儲存,Preview SQL 先顯示所有陳述式。其他程式修改檔案時,側欄會自動重新載入。
結構
重新命名資料表或欄位、新增或刪除欄位,以及 SQLite 3.53 起新增或刪除 CHECK,使用 ALTER TABLE 執行。欄位型別、外部索引鍵等其他 Structure 分頁修改會重建資料表:TablePro 產生指令碼,連同 rowid 複製列,還原索引和觸發程序,僅在確認後執行。
修改欄位型別會依新的型別親和性重新讀取值,例如 INTEGER 欄位中 '007' 變成 7,執行前檢閱面板會說明。FTS5 等虛擬資料表無法重建,儲存時會指明其名稱。
可從側欄查看和編輯觸發程序。
維護與備份
資料表維護執行 VACUUM、ANALYZE、REINDEX 和完整性檢查,每項執行前均顯示 SQL。Server Dashboard 顯示檔案大小、頁數、頁大小、日誌模式和快取大小。
Backup Dump 使用 sqlite3 將資料庫寫入 .sql 檔案,Restore Dump 對資料庫執行此類檔案。
移動資料
匯入 CSV、TSV、JSON、JSONL、XLSX與SQL 檔案,或在 Data Files 視窗開啟 CSV、JSON、XLSX 後從中匯入。資料表和結果匯出為 CSV、JSON、SQL、XLSX、Markdown、HTML與XML。
Copy To 將資料表和列移動至 PostgreSQL 伺服器等其他連線,列出所有需要近似轉換的欄位型別。另見將檔案作為資料庫處理。
iPhone 與 iPad
iPhone 與 iPad App 建立連線時可選擇 SQLite,App 直接連線。
iPhone 與 iPad 上可選擇或建立資料庫檔案,也可從 Open Sample Database 開啟 Chinook 範例。依卡片瀏覽資料表、篩選、編輯有主索引鍵的列,並在 Query 分頁執行 SQL。
限制
- 無法開啟 SQLCipher、SEE 檔案等加密資料庫。請先解密檔案。
- 無法新增、移除或移動主索引鍵。
- iPhone 與 iPad 上選擇的檔案會複製至 App 中,編輯修改的是副本。
- 擴充功能只可在此 Mac 讀取的檔案上載入。SSH 伺服器上開啟的資料庫無法載入,但其唯讀副本可以。
- 編輯器中 ATTACH 的檔案可查詢,但不會出現在側邊欄。
關於 SQLite 的問題
能開啟加密的 SQLite 資料庫嗎?
不能。內建 SQLite 不接受金鑰,因此 SQLCipher、SEE 檔案無法開啟。請先用 sqlcipher 工具解密檔案。
使用哪個 SQLite 版本?
驅動程式內建 SQLite 3.53.4,不依賴 macOS 附帶版本。
能開啟 App 的開發資料庫嗎?
可以。開啟框架儲存的檔案,例如 Rails 的 db/development.sqlite3 或 Django 的 db.sqlite3。~/Library 下的檔案,包括 iOS Simulator 容器,需要完整磁碟存取權。
取得 TablePro
需要 macOS 13 Ventura 或更新版本