DBクライアント
BlyckのDBクライアントは SQLite · Oracle · PostgreSQL · MSSQL · MySQL の5エンジンを同じインターフェースで扱います。別途DBツールなしで、接続・スキーマ探索・SQL作成・結果分析・データ修正・エクスポート・自然言語SQL生成まで1つのウィンドウで処理します。
対応エンジン & 接続
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)で保護され、次回からはパスワード入力なしでクリック1回で即接続できます。
スキーマツリー
Section titled “スキーマツリー”接続すると、左のツリーに TABLES / VIEWS / INDEXES / TRIGGERS / ROUTINES セクションが表示されます。
- テーブル・ビューを展開するとカラム一覧(名前 · 型 · PKアイコン)が表示され、ダブルクリックすると先頭200行の照会がSQLエディタで即座に実行されます。
- インデックス・トリガー・ルーチンをダブルクリックすると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または赤色のエラーが表示されます。
トランザクション
Section titled “トランザクション”自動コミットチェックボックスを OFF にすると手動トランザクションモードになります。DMLを実行しても即座に確定されず、● 未確定 状態で維持されます。コミットボタンで確定するか、ロールバックボタンで取り消します。
サーバー側クエリキャンセル(■ 中断)
Section titled “サーバー側クエリキャンセル(■ 中断)”■ ボタンをクリックすると、2段階でキャンセルが進行します。
- ソフトキャンセル(即時) — UIが即座に復帰し、トークンを無効化して結果を破棄します。ステータス行に
実行中断が表示されます。 - サーバー側キャンセル(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だけを切り替えます。
結果グリッド
Section titled “結果グリッド”結果は仮想スクロールグリッドで表示されるため、数十万行も滑らかに探索できます。
- 行番号(
#)列は横スクロールしても固定されます。クリックすると行詳細ビューアが開きます。 - ステータスバーに
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) |
| 行コピー | 選択行のすべてのカラム値を複製した新規行を追加 |
行を追加してセルを編集した後、保存ボタンをクリックします。保存時は自動コミットを一時的にOFFにして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,000NULL比率 · ユニーク値数 · enum候補 · 数値型ならmin/max/平均を提供します。クエリ作成前にカラムの特性を把握したり、インデックス設計に活用したりします。
危険なクエリの保護
Section titled “危険なクエリの保護”SQLエディタで Ctrl+Enter で直接実行するクエリは、確認なしで即実行されます(パワーユーザー向け)。代わりに、すべてのDDL/DMLが変更履歴に自動記録され、取り消せます(下記参照)。実行前に確認ウィンドウが表示されるのは、次の2つの場合です。
| 経路 | 動作 |
|---|---|
AIが実行するSQL(db_query ツール) | 読み取りは自動、書き込み・破壊的(DROP/TRUNCATE/WHEREなしの DELETE など)は確認ダイアログ。prod ラベル接続は1段階強化 |
| SQLコードブロック ▶ 実行(AIの回答・コードエディタのコードレンズ) | DROP/DELETE/UPDATE/TRUNCATE/ALTER/GRANT/REVOKE などはクエリプレビューとともに確認 |
スキーマツリーで右クリック → DROP TABLE… のような操作は、テーブル名を直接入力しないと実行されない強い確認を経ます。
バックアップベースのロールバック
Section titled “バックアップベースのロールバック”DDL/DML実行時に変更前のデータが自動バックアップされ、人・AIの実行どちらも取り消せます。
- 少量(≤1,000行、PK付き単一テーブル): 内部履歴DBに変更前の行をJSONで保管。
- 大量 / 複雑 / PKなし: 対象DBにバックアップテーブル(
blyck_bak_…)を作成して保管し、取り消し後に自動削除。 DROP/TRUNCATEなど一部のDDLは逆SQLが不可能なため、取り消せない項目として表示されます。
変更履歴(Ctrl+Shift+H)で項目を選択して取り消ししてください。WHEREなしの大量 UPDATE · DELETE もバックアップデータで復元できます。
AIチャットと一緒に
Section titled “AIチャットと一緒に”AIチャットはDBツールを直接呼び出します。
▸ このテーブルから重複したメールを見つけて▸ orders のスキーマを見せてインデックスを推奨して▸ 先月の注文キャンセル率が高い顧客 TOP 10動作順序: スキーマ確認(db_schema)→ 必要に応じてカラム分析 → クエリ作成・実行(db_query)→ 失敗時は自己修正。書き込みクエリは常に上記の安全装置(確認ダイアログ)を通過します。
他のドキュメントとの連携
Section titled “他のドキュメントとの連携”| 機能 | ドキュメント |
|---|---|
| SQLエディタにDBをリンクしてコード内SQLを自動入力 | コードエディタ |
| DBスキーマ・結果をRAG統合検索で | 統合検索(RAG) |
| 変更履歴・DMLの取り消し | 変更履歴 · Git |
| AIチャットでDB作業を自動化 | AIチャット |
Oracle NJS-116 エラーが出ます。
Thinドライバーがサポートしないパスワード検証子方式です。接続ダイアログで Thick強制 を有効にし、64ビット Instant Client のパスを入力してください。
■ 中断を押してもクエリが止まりません。
サーバー側キャンセルは best-effort 方式で、次のチェックポイントで認識されます。重い集計クエリは少し待ってください。SQLiteはサーバー段階がないため即座に中断されます。
大容量クエリ中にアプリが落ちます。
グリッドのクリップボードコピーの代わりに、**エクスポート ▾(ディスクストリーミング)**を使用してください。Excelは100万行の上限です。
CSVをExcelで開いたら日本語が文字化けします。
CSVは UTF-8 BOM で保存されます。Excelのデータの取得 → エンコードを 65001 UTF-8 に指定するか、**クリップボード(TSV)**で直接貼り付けてください。
セル編集ができません。
単一テーブルのSELECTで、かつPKカラムが含まれた結果でのみ有効になります。JOIN · GROUP BY · UNION · DISTINCT やビュー結果は編集できません。
自然言語→SQL の結果が見当違いのテーブルを使います。
インデックスを再構築し、📒 用語集 に業務用語・テーブルマッピングを登録すると精度が高まります。
接続直後にツリーが空です。
接続成功後、スキーマインデックスに数秒かかることがあります。ヘッダーの ↻ 更新ボタンをクリックしてみてください。Oracle Thick フォールバック中なら、接続完了まで時間がさらにかかることがあります。