DB 用戶端
Blyck 的 DB 用戶端以相同介面操作 SQLite · Oracle · PostgreSQL · MSSQL · MySQL 五種引擎。無需另外的 DB 工具,連線 · 探索結構描述 · 撰寫 SQL · 分析結果 · 修改資料 · 匯出 · 生成自然語言 SQL,全在同一個視窗中處理。
支援的引擎 & 連線
Section titled “支援的引擎 & 連線”在新分頁選單(+)中選擇引擎,或點選已儲存的連線。
| 引擎 | 必填欄位 | 預設連接埠 | 備註 |
|---|---|---|---|
| SQLite | 檔案路徑 | — | 超過 256MB·被鎖定時自動切換為唯讀 |
| Oracle | Host · Port · Service Name · 使用者 · 密碼 | 1521 | 預設 Thin → 失敗時自動回退至 Thick |
| PostgreSQL | Host · Port · Database · 使用者 · 密碼 | 5432 | 結構描述·SSL 選項 |
| MSSQL | Host(伺服器\執行個體)· Port · Database · 使用者 · 密碼 | 1433 | 僅 SQL 驗證(不支援 Windows 整合驗證) |
| MySQL | Host · Port · Database · 使用者 · 密碼 | 3306 | SSL 選項 |
Oracle Thin / Thick 模式
Section titled “Oracle Thin / Thick 模式”在連線對話框中開啟 強制 Thick 選項後,將永遠以 Thick 模式連線。預設會先嘗試 Thin,失敗則回退至 Thick;連線後標頭會顯示 Oracle 已連線 (Thin) 或 Oracle 已連線 (Thick)。使用 Thick 模式時,必須在對話框中輸入 64 位元 Oracle Instant Client 路徑。
儲存的連線 & 密碼自動填入
Section titled “儲存的連線 & 密碼自動填入”在連線對話框中輸入儲存名稱後,連線資訊會永久儲存。密碼以 OS 加密(Windows DPAPI / macOS Keychain)保護,之後無需輸入密碼,點一下即可立即連線。
連線後,左側樹狀圖會顯示 TABLES / VIEWS / INDEXES / TRIGGERS / ROUTINES 區段。
- 展開資料表 · 檢視表會顯示欄位清單(名稱 · 型別 · PK 圖示),連按兩下時會在 SQL 編輯器中立即執行前 200 列查詢。
- 連按兩下索引 · 觸發程序 · 常式時,會將 DDL 載入編輯器。
- 可從樹狀圖將資料表·欄位名稱拖曳至 SQL 編輯器以插入。
在上方搜尋列選擇 名稱 / 欄位 / 兩者 範圍進行搜尋。搜尋欄位時,相應的資料表會自動展開,標頭會顯示 N / 全部 數量。
右鍵選單(資料表)
Section titled “右鍵選單(資料表)”| 項目 | 動作 |
|---|---|
| 詳細查詢 | 欄位型別 · 是否 NULL · 預設值 · 索引資訊 |
| 查詢前 200 列 | 自動執行符合引擎方言(LIMIT / TOP / ROWNUM)的查詢 |
| 檢視 DDL | 將 CREATE 陳述式載入編輯器 |
| 欄位分析 | NULL 比率 · 唯一值數 · 眾數 · 數值統計(min/max/平均,以樣本為基準) |
執行 DDL 查詢後,500ms 後樹狀圖會自動於背景重新索引以反映變更。若要手動重新整理,請點選標頭的 ↻ 按鈕。
SQL 編輯器
Section titled “SQL 編輯器”連按兩下資料表,或用樹狀圖標頭的新查詢按鈕開啟編輯器。
| 按鈕 | 動作 |
|---|---|
| ✨ | 切換自然語言→SQL 輸入列 |
| ▶ | 執行查詢(Ctrl+Enter) |
| ■ | 停止執行(僅在執行中時啟用) |
| + | 新增 SQL 分頁 |
軌道底部會顯示目前面板的 SQL 分頁清單,可在分頁間快速切換。
DB名 — SQL ▾:連線切換下拉選單- 自動提交 核取方塊 / 提交 / 回復
- AI(
Ctrl+I):儲存格 AI(分析格線選取範圍) - 歷程 / 片段 / 匯出 ▾ / 格式化 / 關閉(
Esc)
執行 & 自動完成
Section titled “執行 & 自動完成”- 以
Ctrl+Enter或 ▶ 按鈕執行。 - 在已選取文字的狀態下執行,只會執行選取範圍。
- 已連線 DB 的資料表·欄位名稱會自動完成。
- 格式化 按鈕會以 SQL 子句前換行為基準執行內建排版器。
- 執行 DML 後,狀態列會顯示
完成 — 變更 N 列 · Xms或紅色錯誤。
將自動提交核取方塊取消勾選後即進入手動交易模式。執行 DML 也不會立即確認,而是維持 ● 未確認 狀態。可用提交按鈕確認,或用回復按鈕還原。
伺服器端查詢取消(■ 中斷)
Section titled “伺服器端查詢取消(■ 中斷)”點選 ■ 按鈕,取消會分兩階段進行。
- 軟取消(立即) — UI 立即恢復並使 token 失效以捨棄結果。狀態列會顯示
已中斷執行。 - 伺服器端取消(best-effort) — 向引擎傳送取消訊號。當 DB 伺服器在檢查點辨識到時,查詢就會中斷。
| 引擎 | 取消方式 |
|---|---|
| Oracle | connection.break() → 回傳 ORA-01013 |
| MSSQL | request.cancel() → TDS Attention 封包 |
| PostgreSQL | 以另一條連線執行 pg_cancel_backend(pid) — 保留既有連線 |
| MySQL | 以另一條連線執行 KILL QUERY threadId — 保留既有連線 |
| SQLite | 無伺服器取消 — 僅軟取消(立即中斷) |
點選 SQL 編輯器標題 DB名 — SQL ▾,會顯示目前開啟的所有 DB 連線清單,目前連線會標示 ✓。選擇連線後,會保留編輯器中的 SQL,只切換執行對象 DB。
結果以虛擬捲動格線顯示,即使數十萬列也能流暢瀏覽。
- 列號(
#)欄即使水平捲動也會固定。點選時會開啟列詳細檢視器。 - 狀態列會顯示
N 列 · Xms執行資訊。 - NULL 會以
NULL區分顯示(與空字串區分)。 - 可拖曳調整欄寬。
排序 · 篩選
Section titled “排序 · 篩選”- 排序:點選欄標頭會在遞增(▲)· 遞減(▼)間切換。
- 篩選:在上方輸入欄輸入文字後,會在所有欄位以部分比對即時篩選(僅篩選顯示中的列,不重新查詢 DB)。
超過 5,000 列
Section titled “超過 5,000 列”預設顯示 5,000 列,超過時可用 再載入 5,000 列 按鈕以 OFFSET/FETCH 累積載入。
儲存格選取 · 複製
Section titled “儲存格選取 · 複製”拖曳選取矩形範圍後,以匯出 ▾ → 剪貼簿(TSV) 複製,即可直接貼到 Excel。以 Shift+連按兩下 在檢視器中確認儲存格的完整值。
直接編輯儲存格 → UPDATE
Section titled “直接編輯儲存格 → UPDATE”僅當結果為單一資料表 SELECT 且包含 PK 欄位時,才會啟用儲存格編輯。
- 連按兩下儲存格以修改值。
- 點選提交按鈕後,編輯器中會新增
UPDATE … WHERE PK=…語法。 - 以
Ctrl+Enter執行以套用。
執行的變更會像其他 DML 一樣記錄到變更紀錄(Ctrl+Shift+H),可以還原。
新增列 · 複製列 → INSERT
Section titled “新增列 · 複製列 → INSERT”可用結果格線工具列的 + 列 或 複製列 按鈕使用 staged INSERT。
| 按鈕 | 動作 |
|---|---|
| + 列 | 新增空白列(留空則為 NULL) |
| 複製列 | 新增複製選取列所有欄位值的新列 |
新增列並編輯儲存格後,點選儲存按鈕。儲存時會暫時關閉自動提交並執行 INSERT,因此之後可用提交或回復確認或取消。
大量匯出(CSV · Excel)
Section titled “大量匯出(CSV · Excel)”選擇 匯出 ▾ → CSV 或 Excel。
- 串流方式:主行程直接串流至磁碟,因此即使數百萬列也無記憶體顧慮地儲存。
- 進度模態框會顯示
N / 全部列 (X%),並可用取消按鈕中途中斷。 - CSV:含 UTF-8 BOM(在 Excel 中可正常顯示中文)。
- Excel(.xls):1,048,575 列上限。
自然語言 → SQL(✨)
Section titled “自然語言 → SQL(✨)”用 SQL 編輯器左側軌道的 ✨ 按鈕切換自然語言輸入列。
▸ 本月營業額前 5 大客戶▸ 顯示上週每日的註冊使用者數動作順序:關鍵字分析 → 為使用中連線的整體結構描述評分 → 篩選相關資料表·欄位 → 生成 SQL(顯示各步驟的進度狀態與耗時)。生成的 SQL 會插入到游標所在行的下方(不覆寫既有內容)。可用 Ctrl+Z 還原,也可在生成中用取消按鈕中斷。
生成的 SQL 會進入編輯器,因此請檢視後親自執行 — 不會自動執行。
SQL 片段
Section titled “SQL 片段”儲存常用的 SQL 以快速叫用。
- 點選工具列片段按鈕 → 儲存目前 SQL(輸入名稱,留空則自動取 SQL 開頭)。
- 點選項目會載入編輯器,以 ✕ 刪除。
- 片段為全域儲存,可在任何 DB 編輯器中使用。
點選工具列歷程按鈕,成功的查詢會以最新順序顯示(自動去除重複)。點選項目會載入編輯器。歷程儲存在 userData/db-history.json。
格線儲存格 AI(Ctrl+I)
Section titled “格線儲存格 AI(Ctrl+I)”在格線中選取儲存格範圍後,按 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/平均。可用於撰寫查詢前掌握欄位特性,或用於索引設計。
危險查詢防護
Section titled “危險查詢防護”在 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… 之類的操作,須親自輸入資料表名稱才能執行,會經過強化確認。
以備份為基礎的回復
Section titled “以備份為基礎的回復”執行 DDL/DML 時會自動備份變更前的資料,人與 AI 執行皆可還原。
- 少量(≤1,000 列,含 PK 的單一資料表):將變更前的列以 JSON 保存在內部歷程 DB。
- 大量 / 複雜 / 無 PK:在目標 DB 中建立備份資料表(
blyck_bak_…)保存,還原後自動刪除。 DROP/TRUNCATE等部分 DDL 因無法產生反向 SQL,會標示為無法還原的項目。
請在變更紀錄(Ctrl+Shift+H)中選擇項目並還原。無 WHERE 的大量 UPDATE · DELETE 也能以備份資料復原。
與 AI 聊天搭配
Section titled “與 AI 聊天搭配”AI 聊天會直接呼叫 DB 工具。
▸ 幫我在這個資料表找出重複的 email▸ 顯示 orders 結構描述並推薦索引▸ 上個月訂單取消率高的客戶 TOP 10動作順序:確認結構描述(db_schema)→ 必要時欄位分析 → 撰寫·執行查詢(db_query)→ 失敗時自我修正。寫入查詢一律會通過上述安全機制(確認對話框)。
與其他文件的連動
Section titled “與其他文件的連動”| 功能 | 文件 |
|---|---|
| 連結 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 回退,完成連線可能需要更多時間。