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 交談區
  • 大部份功能由右鍵功能表驅動

gh|700

3. AI 設定

以OpenCode為例:

  1. Provider: 選用 OLpenAI Compatible
  2. API Key: 貼入你的API Key
  3. Endpoint: https://opencode.ai/zen/go/v1
  4. Model: 先點擊右側的Refresh,再選用模型
  5. 按下方的【Test】測試連線是否正常

gh|700

+ 資訊

dbx 內建MCP Server,AI Agent可透過 dbx 的MCP API對連線做SQL操作

4. 建立連線

用 SQLite 的 Northwind.db 當範例。

  1. 點擊左上角的【New Connection】
  2. 選擇要使用的資料庫種類,選用 【SQLite】 再按右下的 【Next >】

gh|590

  1. 輸入名稱與指定檔案,按【Save & Connect】

gh|499

  1. 連線右鍵功能表→【New Query】建立新的查詢分頁
  2. 也可點擊資料表開啟資料瀏覽器分頁

gh|457

5. 用 .csv 建立連線

用 Northwind 的多個 .csv 當範例。

+ 技巧

DuckDB 資料庫能直接讀寫 .csv 檔和 .json 檔

    1. 點擊左上角的【New Connection】
  1. 選擇要使用的資料庫種類,選用 【DuckDB】 再按右下的 【Next >】
  2. Name: 給一個名稱,Color: 選用一個識別顏色
  3. File Path: 按右方的 Create DuckDB File 在特定資料夾建立檔案(名稱自訂,預設是database.duckdb)
    1. 也可輸入 :memory: 建立記憶體暫存資料庫
  4. 點擊【Save & Connect】

gh|627

5.1. 單一資料表

-- 查所有檔名
SELECT * FROM glob('j:/temp/Northwind/csv/*.csv');

-- 查詢檔案資料
select * from 'j:\temp\Northwind\csv\Customers.csv';

5.2. 使用AI建立資料表

  1. 點擊右上方的 AI,輸入下列提示文字以生成由.csv建立資料表的SQL敘述
  2. 若執行有誤則使用【Fix with AI】重覆修正到正確為止,或更換模型
讀取 j:\temp\Northwind\csv\*.csv 為每個.csv檔生成一個 create table 檔名 as select * from '檔名完整路徑'; 的SQL敘述. 

gh|700

  1. SQL敘述執行正確後,右鍵→【Copy】→【Copy All (TSV)】(或按Ctrl+C)

gh|700

  1. 將剪貼簿內容貼入編輯區,修正並全選後執行

gh|700

6. 用 .json 建立連線

用 Northwind 的多個 .json 當範例。

比照 .csv 的作法,只是換用 .json 檔案。

7. 💡 相關鏈接

✅ 解說文章(繁體中文): https://jdev.tw/blog/9228/

Explanation article(English)

解説記事(日本語)

✅ GitHub網站: https://github.com/t8y2/dbx

8. 教學影片

##