跳到內容

DB 用戶端

Blyck 的 DB 用戶端以相同介面操作 SQLite · Oracle · PostgreSQL · MSSQL · MySQL 五種引擎。無需另外的 DB 工具,連線 · 探索結構描述 · 撰寫 SQL · 分析結果 · 修改資料 · 匯出 · 生成自然語言 SQL,全在同一個視窗中處理。

在新分頁選單(+)中選擇引擎,或點選已儲存的連線。

引擎必填欄位預設連接埠備註
SQLite檔案路徑超過 256MB·被鎖定時自動切換為唯讀
OracleHost · Port · Service Name · 使用者 · 密碼1521預設 Thin → 失敗時自動回退至 Thick
PostgreSQLHost · Port · Database · 使用者 · 密碼5432結構描述·SSL 選項
MSSQLHost(伺服器\執行個體)· Port · Database · 使用者 · 密碼1433僅 SQL 驗證(不支援 Windows 整合驗證)
MySQLHost · Port · Database · 使用者 · 密碼3306SSL 選項

在連線對話框中開啟 強制 Thick 選項後,將永遠以 Thick 模式連線。預設會先嘗試 Thin,失敗則回退至 Thick;連線後標頭會顯示 Oracle 已連線 (Thin)Oracle 已連線 (Thick)。使用 Thick 模式時,必須在對話框中輸入 64 位元 Oracle Instant Client 路徑。

在連線對話框中輸入儲存名稱後,連線資訊會永久儲存。密碼以 OS 加密(Windows DPAPI / macOS Keychain)保護,之後無需輸入密碼,點一下即可立即連線。


連線後,左側樹狀圖會顯示 TABLES / VIEWS / INDEXES / TRIGGERS / ROUTINES 區段。

  • 展開資料表 · 檢視表會顯示欄位清單(名稱 · 型別 · PK 圖示),連按兩下時會在 SQL 編輯器中立即執行前 200 列查詢。
  • 連按兩下索引 · 觸發程序 · 常式時,會將 DDL 載入編輯器。
  • 可從樹狀圖將資料表·欄位名稱拖曳至 SQL 編輯器以插入。

在上方搜尋列選擇 名稱 / 欄位 / 兩者 範圍進行搜尋。搜尋欄位時,相應的資料表會自動展開,標頭會顯示 N / 全部 數量。

項目動作
詳細查詢欄位型別 · 是否 NULL · 預設值 · 索引資訊
查詢前 200 列自動執行符合引擎方言(LIMIT / TOP / ROWNUM)的查詢
檢視 DDL將 CREATE 陳述式載入編輯器
欄位分析NULL 比率 · 唯一值數 · 眾數 · 數值統計(min/max/平均,以樣本為基準)

執行 DDL 查詢後,500ms 後樹狀圖會自動於背景重新索引以反映變更。若要手動重新整理,請點選標頭的 按鈕。


連按兩下資料表,或用樹狀圖標頭的新查詢按鈕開啟編輯器。

按鈕動作
切換自然語言→SQL 輸入列
執行查詢(Ctrl+Enter)
停止執行(僅在執行中時啟用)
+新增 SQL 分頁

軌道底部會顯示目前面板的 SQL 分頁清單,可在分頁間快速切換。

  • DB名 — SQL ▾:連線切換下拉選單
  • 自動提交 核取方塊 / 提交 / 回復
  • AI(Ctrl+I):儲存格 AI(分析格線選取範圍)
  • 歷程 / 片段 / 匯出 ▾ / 格式化 / 關閉(Esc)
  • Ctrl+Enter 或 ▶ 按鈕執行。
  • 已選取文字的狀態下執行,只會執行選取範圍。
  • 已連線 DB 的資料表·欄位名稱會自動完成
  • 格式化 按鈕會以 SQL 子句前換行為基準執行內建排版器。
  • 執行 DML 後,狀態列會顯示 完成 — 變更 N 列 · Xms 或紅色錯誤。

將自動提交核取方塊取消勾選後即進入手動交易模式。執行 DML 也不會立即確認,而是維持 ● 未確認 狀態。可用提交按鈕確認,或用回復按鈕還原。


點選 ■ 按鈕,取消會分兩階段進行。

  1. 軟取消(立即) — UI 立即恢復並使 token 失效以捨棄結果。狀態列會顯示 已中斷執行
  2. 伺服器端取消(best-effort) — 向引擎傳送取消訊號。當 DB 伺服器在檢查點辨識到時,查詢就會中斷。
引擎取消方式
Oracleconnection.break() → 回傳 ORA-01013
MSSQLrequest.cancel() → TDS Attention 封包
PostgreSQL以另一條連線執行 pg_cancel_backend(pid) — 保留既有連線
MySQL以另一條連線執行 KILL QUERY threadId — 保留既有連線
SQLite無伺服器取消 — 僅軟取消(立即中斷)

點選 SQL 編輯器標題 DB名 — SQL ▾,會顯示目前開啟的所有 DB 連線清單,目前連線會標示 ✓。選擇連線後,會保留編輯器中的 SQL,只切換執行對象 DB


結果以虛擬捲動格線顯示,即使數十萬列也能流暢瀏覽。

  • 列號(#)欄即使水平捲動也會固定。點選時會開啟列詳細檢視器。
  • 狀態列會顯示 N 列 · Xms 執行資訊。
  • NULL 會以 NULL 區分顯示(與空字串區分)。
  • 可拖曳調整欄寬
  • 排序:點選欄標頭會在遞增(▲)· 遞減(▼)間切換。
  • 篩選:在上方輸入欄輸入文字後,會在所有欄位以部分比對即時篩選(僅篩選顯示中的列,不重新查詢 DB)。

預設顯示 5,000 列,超過時可用 再載入 5,000 列 按鈕以 OFFSET/FETCH 累積載入。

拖曳選取矩形範圍後,以匯出 ▾ → 剪貼簿(TSV) 複製,即可直接貼到 Excel。以 Shift+連按兩下 在檢視器中確認儲存格的完整值。


僅當結果為單一資料表 SELECT 且包含 PK 欄位時,才會啟用儲存格編輯。

  1. 連按兩下儲存格以修改值。
  2. 點選提交按鈕後,編輯器中會新增 UPDATE … WHERE PK=… 語法。
  3. Ctrl+Enter 執行以套用。

執行的變更會像其他 DML 一樣記錄到變更紀錄(Ctrl+Shift+H),可以還原。


可用結果格線工具列的 + 列複製列 按鈕使用 staged INSERT。

按鈕動作
+ 列新增空白列(留空則為 NULL)
複製列新增複製選取列所有欄位值的新列

新增列並編輯儲存格後,點選儲存按鈕。儲存時會暫時關閉自動提交並執行 INSERT,因此之後可用提交回復確認或取消。


選擇 匯出 ▾CSVExcel

  • 串流方式:主行程直接串流至磁碟,因此即使數百萬列也無記憶體顧慮地儲存。
  • 進度模態框會顯示 N / 全部列 (X%),並可用取消按鈕中途中斷。
  • CSV:含 UTF-8 BOM(在 Excel 中可正常顯示中文)。
  • Excel(.xls):1,048,575 列上限。

用 SQL 編輯器左側軌道的 按鈕切換自然語言輸入列。

▸ 本月營業額前 5 大客戶
▸ 顯示上週每日的註冊使用者數

動作順序:關鍵字分析 → 為使用中連線的整體結構描述評分 → 篩選相關資料表·欄位 → 生成 SQL(顯示各步驟的進度狀態與耗時)。生成的 SQL 會插入到游標所在行的下方(不覆寫既有內容)。可用 Ctrl+Z 還原,也可在生成中用取消按鈕中斷。

生成的 SQL 會進入編輯器,因此請檢視後親自執行 — 不會自動執行。


儲存常用的 SQL 以快速叫用。

  • 點選工具列片段按鈕 → 儲存目前 SQL(輸入名稱,留空則自動取 SQL 開頭)。
  • 點選項目會載入編輯器,以 ✕ 刪除。
  • 片段為全域儲存,可在任何 DB 編輯器中使用。

點選工具列歷程按鈕,成功的查詢會以最新順序顯示(自動去除重複)。點選項目會載入編輯器。歷程儲存在 userData/db-history.json


在格線中選取儲存格範圍後,按 Ctrl+I 或點選工具列 AI 按鈕,即可以選取的資料為脈絡向 AI 提問。

▸ 幫我分析這裡面的離群值
▸ 用這份資料幫我做 UPDATE 查詢
▸ NULL 比率高的欄位是什麼原因?

以選取值 · 資料表名 · 執行的 SQL · PK 資訊 · 引擎種類為脈絡進行分析。超過 200 列時,僅傳送前 200 列。


右鍵點選樹狀圖 → 選擇 欄位分析,即可以樣本為基準確認資料表的實際資料統計。

status 欄位 — NULL 2.3% · Distinct 4 個 (active, inactive, pending, blocked) · 眾數 active 87%
amount 欄位 — NULL 0% · min 100 · max 9,800,000 · 平均 452,000

提供 NULL 比率 · 唯一值數 · enum 候選,若為數值型則提供 min/max/平均。可用於撰寫查詢前掌握欄位特性,或用於索引設計。


在 SQL 編輯器以 Ctrl+Enter 直接執行的查詢會不經確認直接執行(供進階使用者)。不過所有 DDL/DML 都會自動記錄到變更紀錄,可以還原(見下方)。執行前會跳出確認視窗的情況有以下兩種。

路徑動作
AI 執行的 SQL(db_query 工具)讀取自動執行,寫入·破壞性(DROP/TRUNCATE/無 WHERE 的 DELETE 等)則跳確認對話框。prod 標籤連線會強化一級
SQL 程式碼區塊 ▶ 執行(AI 回答·程式碼編輯器 code lens)DROP/DELETE/UPDATE/TRUNCATE/ALTER/GRANT/REVOKE 等會連同查詢預覽一併確認

在結構描述樹中右鍵 → DROP TABLE… 之類的操作,須親自輸入資料表名稱才能執行,會經過強化確認。

執行 DDL/DML 時會自動備份變更前的資料,人與 AI 執行皆可還原。

  • 少量(≤1,000 列,含 PK 的單一資料表):將變更前的列以 JSON 保存在內部歷程 DB。
  • 大量 / 複雜 / 無 PK:在目標 DB 中建立備份資料表(blyck_bak_…)保存,還原後自動刪除。
  • DROP / TRUNCATE 等部分 DDL 因無法產生反向 SQL,會標示為無法還原的項目

請在變更紀錄(Ctrl+Shift+H)中選擇項目並還原。無 WHERE 的大量 UPDATE · DELETE 也能以備份資料復原。


AI 聊天會直接呼叫 DB 工具。

▸ 幫我在這個資料表找出重複的 email
▸ 顯示 orders 結構描述並推薦索引
▸ 上個月訂單取消率高的客戶 TOP 10

動作順序:確認結構描述(db_schema)→ 必要時欄位分析 → 撰寫·執行查詢(db_query)→ 失敗時自我修正。寫入查詢一律會通過上述安全機制(確認對話框)。


功能文件
連結 DB 至 SQL 編輯器以在程式碼中自動完成 SQL程式碼編輯器
將 DB 結構描述·結果用於 RAG 整合搜尋整合搜尋(RAG)
變更紀錄·DML 還原變更紀錄 · Git
以 AI 聊天自動化 DB 作業AI 聊天

出現 Oracle NJS-116 錯誤。
這是 Thin 驅動程式不支援的密碼驗證器方式。請在連線對話框中開啟 強制 Thick 並輸入 64 位元 Instant Client 路徑。

按了 ■ 中斷但查詢不停止。
伺服器端取消是 best-effort 方式,會在下一個檢查點辨識。沉重的彙總查詢請稍候。SQLite 沒有伺服器階段,因此會立即中斷。

大量查詢途中應用程式當掉。
請改用匯出 ▾(磁碟串流),而非格線剪貼簿複製。Excel 上限為 100 萬列。

在 Excel 開啟 CSV 後中文亂碼。
CSV 以 UTF-8 BOM 儲存。請使用 Excel 資料匯入 → 指定編碼 65001 UTF-8,或以剪貼簿(TSV) 直接貼上。

無法編輯儲存格。
僅在單一資料表 SELECT 且包含 PK 欄位的結果中才會啟用。JOIN · GROUP BY · UNION · DISTINCT 或檢視表結果無法編輯。

自然語言→SQL 結果用到錯誤的資料表。
重建索引並在 📒 詞彙表 中登錄業務用語·資料表對應,可提高準確度。

連線後樹狀圖是空的。
連線成功後結構描述索引可能需要數秒。請試著點選標頭的 重新整理按鈕。若正在進行 Oracle Thick 回退,完成連線可能需要更多時間。