了解資料庫結構的編輯器
自動完成在輸入時讀取連線的結構:FROM 與 JOIN 後的資料表、別名對應的欄位,以及陳述式前面定義的 CTE 或子查詢的欄位。語法標示使用 tree-sitter;⌘⇧L 格式化游標所在陳述式,同時保留註解。
⌘⏎ 執行游標所在陳述式或選取內容,⌘⇧⏎ 執行全部,⌘⌥⏎ 不限列數執行,⌘. 取消。一般陳述式批次在同一交易中執行,任一陳述式失敗即復原;例外包括自行管理交易的指令碼、SQL Server 指令碼、VACUUM 等不能放入交易的陳述式,以及會自行提交的 MySQL、MariaDB 與 Oracle DDL。
- 編輯器側欄中的陳述式標記各有獨立執行按鈕。
- 支援正規表示式的尋找與取代。
- Vim 模式支援移動、暫存器與巨集,使用
:w執行查詢。 - 在查詢分頁中開啟、編輯與儲存
.sql檔案。


參數、歷史與已儲存查詢
在查詢中寫入 :customer_id,TablePro 會在執行前詢問其值與型別,並在驅動程式支援時使用原生參數繫結。
每次執行的查詢都會進入本機歷史(⌘Y),支援全文搜尋及來源、失敗與時間範圍篩選。預設儲存 10,000 筆紀錄,保留 90 天,從不同步。
以 dau 等關鍵字儲存查詢,然後在編輯器中輸入關鍵字展開。已儲存查詢保留版本歷史。連結 SQL 檔案夾將 .sql 檔案夾與側欄雙向同步,並顯示各檔案的 Git 狀態字母;此功能免費,與用於共用連線檔案的 Starter 功能 Linked Folders 相互獨立。


快速開啟與分頁
Open Quickly(⌘⇧O)在所有已開啟連線中尋找資料表、檢視表與系統資料表,也搜尋已儲存和最近的查詢。每個分頁保留自己的 SQL、排序、篩選與欄寬,結束並重新開啟 App 後會還原;⌃Tab 可在最近使用的分頁間切換。
查看、比較與追蹤執行計畫
EXPLAIN 與 EXPLAIN Compare
⌥⌘E 將查詢計畫顯示為圖形、含成本長條的樹狀圖或引擎原始輸出。選擇同一查詢的較早執行作為基準,Compare 會說明是否變慢以及計畫是否改變;小於 15% 的差異視為雜訊。兩項功能均免費。
- 以圖形與樹狀圖顯示計畫
- PostgreSQL、MySQL、SQLite、MariaDB、CockroachDB、PGlite、ClickHouse、DuckDB、Cloudflare D1、Turso、libSQL、Google Cloud Spanner、Dameng DM8、SAP HANA
- 試執行成本估算
- Google BigQuery
- 不支援 EXPLAIN 的 SQL 引擎
- SQL Server、Oracle、Beancount


查詢分析
Query Insights:Starter 方案
Query Insights 讀取此 Mac 的查詢歷史,並依執行次數、速度最慢、失敗以及比上一期間變慢的查詢進行排名。查詢依結構分類,因此使用不同值執行的同一陳述式只算一種。數據在 Mac 上計算,從不上傳。


以圖表與地圖查看結果
結果可在同一分頁中從格線切換至圖表或地圖,也可切回。
結果圖表
Result Charts:Starter 方案
將結果繪製為長條圖、折線圖、區域圖或散佈圖,日期使用時間軸,所選欄位的每個值對應一個數列。圖表從前 50,000 列中最多繪製 2,000 個點和 20 個數列,未全部繪製時工具列會提示。


地圖檢視
當欄位儲存 WKT、WKB、GeoJSON、ClickHouse 元組或 Elasticsearch geo_point 幾何值時,地圖檢視會將其繪製到 Apple 地圖上,選取圖形也會選取對應列。列資料保留在 Mac 上,地圖圖磚由 Apple 提供。地圖檢視免費。


不使用 SQL 的引擎
對於不使用 SQL 的連線,編輯器接受該引擎自己的語言,各引擎頁面介紹具體支援範圍。MongoDB 編輯器是在 TablePro 內執行的 mongosh 風格 JavaScript shell,並非 mongosh 本身。
- 各引擎的查詢語言
- MongoDB (MQL)、Redis (Redis CLI)、Cassandra (CQL)、ScyllaDB (CQL)、Amazon DynamoDB (PartiQL)、Elasticsearch (Query DSL)、etcd (etcdctl)、Apache Kafka (KafkaQL)、SurrealDB (SurrealQL)、Typesense (Typesense API)、Weaviate (GraphQL)
在 iPhone 與 iPad 上
iPhone 與 iPad App 的 Query 分頁提供 SQL 語法標示、Run 與 Stop(使用鍵盤時為 ⌘↩),以及此裝置最近執行的 200 筆查詢歷史。可以將結果複製或分享為 JSON、CSV 或 SQL INSERT 陳述式。
不提供自動完成、格式化、參數、EXPLAIN 或已儲存查詢,最多保留 10,000 列結果,因此請新增 LIMIT 來查看所需部分。
支援範圍
| 能力 |
|---|
| 支援自動完成與格式化的 SQL 編輯器Mac: 免費iPhone與iPad: 語法標示、Run 與 Stop;不支援自動完成 |
| 查詢參數Mac: 免費iPhone與iPad: 不支援 |
| 查詢歷史Mac: 免費iPhone與iPad: 裝置上最近 200 筆查詢 |
| 已儲存查詢與連結 SQL 檔案夾Mac: 免費iPhone與iPad: 不支援 |
| 快速開啟Mac: 免費iPhone與iPad: 不支援 |
| EXPLAIN 與 EXPLAIN CompareMac: 免費iPhone與iPad: 不支援 |
| 查詢分析Mac: Starter 方案iPhone與iPad: 不支援 |
| 結果圖表Mac: Starter 方案iPhone與iPad: 不支援 |
| 地圖檢視Mac: 免費iPhone與iPad: 不支援 |
| 複製或分享結果Mac: 免費iPhone與iPad: 免費 |
值得了解的限制
- 除非在 Settings 中將上限提高至最多 500,000 列,或使用 ⌘⌥⏎ 執行,否則查詢最多回傳 10,000 列。自行撰寫的 LIMIT 一律優先。
- 查詢歷史和 Query Insights 僅涵蓋此 Mac,其他 Mac 或 iPhone 上執行的查詢不會包含在內。
tableproshell 指令在 App 中開啟連線和檔案,不會從終端機執行查詢。