1. 前言
dbx 是開源於GitHub、能免費使用的資料庫客戶端工具,以Rust開發,執行效率快速,它不像dBeaver、DataGrip與Aqua Data Studio皆須Java Runtime,只需要一個執行檔就能運行,在使用便利性上無人能與之匹敵,經常和資料庫打交道的朋友們非常建議試用看看。
dbx 內建 AI Chat 整合,設定好後能直接以當前連線資訊當做 Context 與設定好的 AI Provider 交談,能有效的生成需要的SQL敘述。
當 dbx 執行檔所在資料夾存在 portable.dbx 檔案的話,會自動形成可攜狀態,在 data 子目錄裡產生 dbx.db 用來存放連線等設定資料。
這次先介紹建立連線的步驟,再示範用 dbx 查詢、維護 .json 檔案與 .csv 檔案,用 SQL 敘述直接查詢文字檔內容。範例使用 Northwind 資料,測試資料在GitHub皆可搜尋到並下載。
2. UI Layout
- 最上方是功能列
- 左側是連線導覽面板
- 中間是查詢編輯區與資料格 Grid
- 右側是多種屬性面板,包含 AI 交談區
- 大部份功能由右鍵功能表驅動
3. AI 設定
以OpenCode為例:
- Provider: 選用 OLpenAI Compatible
- API Key: 貼入你的API Key
- Endpoint:
https://opencode.ai/zen/go/v1 - Model: 先點擊右側的Refresh,再選用模型
- 按下方的【Test】測試連線是否正常
dbx 內建MCP Server,AI Agent可透過 dbx 的MCP API對連線做SQL操作
4. 建立連線
用 SQLite 的 Northwind.db 當範例。
- 點擊左上角的【New Connection】
- 選擇要使用的資料庫種類,選用 【SQLite】 再按右下的 【Next >】
- 輸入名稱與指定檔案,按【Save & Connect】
- 連線右鍵功能表→【New Query】建立新的查詢分頁
- 也可點擊資料表開啟資料瀏覽器分頁
5. 用 .csv 建立連線
用 Northwind 的多個 .csv 當範例。
DuckDB 資料庫能直接讀寫 .csv 檔和 .json 檔
-
- 點擊左上角的【New Connection】
- 選擇要使用的資料庫種類,選用 【DuckDB】 再按右下的 【Next >】
- Name: 給一個名稱,Color: 選用一個識別顏色
- File Path: 按右方的 Create DuckDB File 在特定資料夾建立檔案(名稱自訂,預設是database.duckdb)
- 也可輸入
:memory:建立記憶體暫存資料庫
- 也可輸入
- 點擊【Save & Connect】
5.1. 單一資料表
-- 查所有檔名
SELECT * FROM glob('j:/temp/Northwind/csv/*.csv');
-- 查詢檔案資料
select * from 'j:\temp\Northwind\csv\Customers.csv';
5.2. 使用AI建立資料表
- 點擊右上方的 AI,輸入下列提示文字以生成由.csv建立資料表的SQL敘述
- 若執行有誤則使用【Fix with AI】重覆修正到正確為止,或更換模型
讀取 j:\temp\Northwind\csv\*.csv 為每個.csv檔生成一個 create table 檔名 as select * from '檔名完整路徑'; 的SQL敘述.
- SQL敘述執行正確後,右鍵→【Copy】→【Copy All (TSV)】(或按Ctrl+C)
- 將剪貼簿內容貼入編輯區,修正並全選後執行
6. 用 .json 建立連線
用 Northwind 的多個 .json 當範例。
比照 .csv 的作法,只是換用 .json 檔案。
7. 💡 相關鏈接
✅ 解說文章(繁體中文): https://jdev.tw/blog/9228/
✅ Explanation article(English)
✅ GitHub網站: https://github.com/t8y2/dbx
8. 教學影片
##