コンテンツにスキップ

DB

Blyck の中で DB(データベース)に接続してテーブル一覧を見たり、SQL(データベースに出す命令文)を書いて実行したり、結果を表で見て直したり、ファイルにエクスポートしたりできます。5種類の DB を同じ画面・同じやり方で扱います。

区分機能料金
基本接続、保存した接続、スキーマツリー、SQL エディタ、実行・中断、結果グリッド、セル編集、新しい行の追加、エクスポート、トランザクション、テーブル構造の変更、履歴、スニペット、接続の切替無料
AISQL エディタ AI(Ctrl+I)、グリッドセル AIPro

PostgreSQL 接続画面 — サーバーアドレス・アカウント・SSL・保存名

  1. Host · Port · Database · User — 接続するサーバーとアカウント(ポートの既定は 5432、DB の既定は postgres)
  2. パスワード — 「保存名」を入れたときだけこの PC に暗号化して保存し、次からは入力なしで接続
  3. SSL — 「無効(既定)」/「有効 + 証明書を検証(本番推奨)」/「有効 + 自己署名を許可(開発/内部のみ — MITMリスク)」
DBコマンドパレットでの名前ショートカット既定ポート必須の欄
SQLiteSQLite DBを開く…Ctrl+Alt+Dなし(ファイル)ファイル
OracleOracle接続…Ctrl+Alt+O1521Host · Service · User
PostgreSQLPostgreSQL接続…Ctrl+Alt+P5432Host · User
MSSQLMSSQL接続…Ctrl+Alt+M1433Server · User
MySQLMySQL接続…Ctrl+Alt+Y3306Host · User

開く場所:新しいタブメニューの DB アイコン(SQLite・Oracle・PostgreSQL・MSSQL・MySQL)、上のショートカット(Mac は Cmd+Option+文字)、コマンドパレット、または 保存した接続 一覧。DB はいつも 今のパネル に新しいサブタブとして開きます。

  • Enter = 接続、Esc = キャンセル。Port を空にすると既定ポートを使います。
  • 保存名 を入れて接続すると 保存した接続 に登録され、パスワードも OS の暗号化で一緒に保存されます。次からはクリックするだけで、ウィンドウなしですぐ接続します。
  • MariaDB は MySQL接続… で接続します。
DB知っておくこと
SQLiteすでにあるファイルだけ 開けます(新しい DB の作成はありません)。一度開いたファイルは自動で保存した接続に入ります
Oracleインストール不要ですぐ使える Thin 方式でまず接続し、うまくいかなければ PC の64ビット Oracle Instant Client を使う Thick 方式で自動的に再試行します。Service 欄にはサービス名または SID を入れます(TNS 名の欄はありません)。ツリーには接続アカウントのオブジェクトだけが表示されます
PostgreSQLツリーには Schema 欄のスキーマ1つだけ(既定は public)が表示されます。SSL は3種類から選びます
MySQLDatabase を必ず入れないと スキーマツリーが表示されません
MSSQLSQL Server 認証(ID・パスワード)のみ 使えます(Windows 統合認証はありません)。1回のクエリが60秒を超えると失敗します。名前付きインスタンスは host\SQLEXPRESS

スキーマツリーと SQL エディタ・結果表

  1. スキーマツリー — 上部の DB 名(shop · PostgreSQL ▾)を押すと別の DB に切り替えます(前の DB は閉じずに後ろで開いたまま)。テーブルを開くと中に「カラム」・「インデックス」・「トリガー」のまとまりがあり、コメントが薄く表示されます。検索欄の横に検索対象「名前」|「カラム」|「コメント」
  2. SQL エディタ — 上部 1 行に「実行」・今のクエリ ▾(この枠のクエリ一覧)・「自動コミット」・AI、右端に実行する DB(shop · PostgreSQL ▾)。ツリーから開いた表は 1 つのクエリを使い回すので、たまりません
  3. 結果行「10 行 · 0.01 秒」と「結果を検索」— その下に結果グリッド

接続すると、その DB のテーブル・ビュー・シーケンス・パッケージ・関数・プロシージャ・ジョブ・スケジューラ・DB リンクが種類ごとのまとまりで表示されます。インデックス・トリガーはそのテーブルの中 にあり、その DB にない種類はまとまり自体が表示されません。

グループクリックダブルクリック右クリック
テーブルテーブルの中(カラム · インデックス · トリガー)を展開SQL エディタで先頭200行の照会をすぐ実行(プレビュークエリ — 次のテーブルを開くとそのクエリを使い回す)テーブル構造の変更メニュー
ビューカラムを展開先頭200行の照会—
テーブル内の インデックス · トリガー、パッケージ(Oracle) · 関数 · プロシージャパッケージだけ中の関数・プロシージャを展開定義(CREATE 文)をSQL エディタに表示(実行はしない)インデックスは DROP INDEX…
  • ヘッダー左の DB 名 ▾(例: shop · PostgreSQL)を押すと、開いている DB と保存した DB 接続が出ます。選ぶと同じパネルでその DB のツリーに切り替わり、前の DB は閉じずに後ろに残ります(一覧でまた選ぶと戻る、行の × で閉じる)。
  • ヘッダーの 新規クエリ は空の SQL エディタを開き、更新アイコンは一覧の再読み込み、すべて折りたたむアイコンは最初の状態(テーブルだけ展開)に戻します。
  • 検索欄の右の [名前 | カラム | コメント] で検索対象を選びます(複数同時に可)。テーブルの中(カラム・インデックス・トリガー)だけが一致すると、そのテーブルが自動で展開されます。
  • ツリーの名前をドラッグして SQL エディタにドロップすると、その位置に名前が入ります。
  • 主キー(PK)のカラムには鍵のアイコンと PK が付き、テーブル・カラムのコメントが名前の横に薄く表示されます。Oracle で無効(INVALID)なオブジェクトは赤い ⚠ で表示され、ヘッダーの ⚠ 数字 を押すと無効なものだけになります。

表の右クリック — Excel · CSV と表構造の変更

Section titled “表の右クリック — Excel · CSV と表構造の変更”

テーブルを右クリック(または行の端の ⋯)すると、いちばん上に Excel · CSV グループがあります。Excel(.xlsx)と CSV のどちらも使えます。ビューでは データをダウンロード… だけが出ます。

メニューすること
テンプレートをダウンロード…その表に合った空のテンプレート。1 行目に列名・2 行目に案内(型・必須・キー)・3 行目に例(実際の値 1 行か作った例)。4 行目から埋めます
データをダウンロード…表全体をファイルに。ヘッダーを テンプレートと同じ で受け取ると、直してそのまま再アップロードできます
データをアップロード…埋めたファイルを選ぶと 入れる前にプレビュー — 飛ばす案内・例の行、エラーの行と理由(数値でない・必須欄が空・既にあるキーなど)。入れ方は 新しい行として追加 · 同じキーがあれば更新(主キーのある表)· テーブルを空にして入れ直す。まとめて入れ、DB がエラーを出したら すべて元に戻します
  • アップロードは変更履歴(ChangeSet)から元に戻せません。大きく変える前に データをダウンロード… で先に保存しておいてください。

テーブルを右クリック → カラムを追加… · カラムを変更… · テーブル名を変更… · インデックスを追加… · DROP TABLE…。入力ウィンドウを埋めると SQL を作ってくれます。すぐには実行せず エディタに入れてくれるので、確認してから自分で実行します。DROP は名前をまったく同じに入力しないと SQL が作られません。SQLite は カラムを変更… に対応していません。

位置ボタンすること
ヘッダー行▶ 実行 · ■実行(Ctrl+Enter) / 実行中止(■ は実行中だけ表示)
今のクエリ名 ▾このパネルのクエリ一覧(最近使った順)· 一番下に 新規クエリ。ダブルクリックで名前を変更
● 自動コミット押すと ● 手動コミット に切り替え(トランザクション)
コミット · ロールバック手動コミットのときだけ表示
AIこの SQL を修正・説明(Ctrl+I) — 押すとすぐ入力ボックス (Pro)
履歴・スニペットのアイコン実行した SQL / 名前を付けて保存した SQL
フォーマット・エクスポートのアイコンSQL の整形(Ctrl+Shift+F) / CSV·Excel·クリップボード。パネルが狭いと 4 つのアイコンは ⋯ の中へ
右端の DB ボタン(名前 · DB の種類 ▾)実行する DB を変える
  • ツリーから開いたテーブルは プレビュークエリ(名前が斜体)で開き、別のテーブルを開くとそのクエリを使い回します。テーブルをいくつ見てもクエリがたまりません。SQL を直すと通常のクエリとして残ります。
  1. SQL を書きます。その DB のテーブル・ビュー名は強調色で表示され、FROM の後ではテーブル、テーブル名. の後ではカラムが自動補完されます。
  2. Ctrl+Enter または ▶ 実行。
    • 文字を選択しておくと選んだ部分だけ、そうでなければ編集欄全体を実行します。
    • 一度に1文 が基本です。複数の文がある場合は、実行したい文だけを選んで実行してください。
  3. 照会なら結果の表が開いて結果行に N 行 · X 秒(例:5,000 行 · 0.44 秒)、変更なら 完了 — 変更 N行 と表示されます。
  • 時間のかかるクエリは ■(実行を中断)で止めます。画面はすぐに操作できるようになり、サーバーにも中断を要求します(SQLite は画面だけ解除)。
  • SQL エディタで直接実行するときは 確認ウィンドウなしですぐ実行 されます。

結果グリッド — セル編集・検索・並べ替え・エクスポート

  1. セルをダブルクリックして直すと、編集欄の末尾に UPDATE 文が付きます。自動では実行されないので、確認してから Ctrl+Enter
  2. 結果行の + 行・行コピー(1 つのテーブルだけを照会したとき)と「結果を検索」— 取得した行の中で文字で絞り込み。「保存」・「キャンセル」は新しい行があるときだけ表示
  3. 見出しをクリックすると並べ替え ▲/▼(取得した行の中だけ)。1 つのテーブルだけを照会するとカラムの型が薄く付きます
  4. エクスポートのアイコン — CSV ファイル (.csv)・Excel ファイル (.xls)・クリップボード (TSV — 貼り付け)
したいこと方法
並べ替え見出しのセルをクリック(▲/▼)。受け取った行の中だけで並べ替え
絞り込み結果行の 結果を検索 欄
さらに受け取る一度に 最大 5,000行。まだあれば結果行の 次の 5,000 行 ▾
コピーセルをドラッグで選んで Ctrl+C(Excel にそのまま貼り付け可)
1行を縦に表示一番左の # 欄をクリック
長い値を丸ごと表示Shift+ダブルクリック
選んだ行から INSERT/UPDATE 文を作るCtrl+G(DML ジェネレーター)
  1. セルを ダブルクリック して値を直し、Enter。
  2. 編集欄の 一番最後に UPDATE … WHERE 主キー = 値; が追加され、選択された状態になります。
  3. 確認してから Ctrl+Enter で実行します。自動では実行されません。

1つのテーブルだけで、主キーが結果に含まれているときだけ 直せます(JOIN・GROUP BY・UNION・DISTINCT・ビューは不可)。

新しい行 · 行コピー · Excel 貼り付け → INSERT

Section titled “新しい行 · 行コピー · Excel 貼り付け → INSERT”

1つのテーブルだけを照会した結果なら、結果行に + 行 · 行コピー のアイコンが表示され、待機行ができると 保存 · キャンセル が現れます。

  1. + 行 または 行コピー で待機行を作り、欄を埋めます(空欄は NULL)。
  2. Excel から貼り付けるには、待機行の # 欄をクリックして起点にし、Ctrl+V。行が足りなければ自動で増えます。
  3. 保存。自動コミットが自動でオフになるので、結果を見て コミット または ロールバック します。失敗した行は残るので、直してもう一度保存できます。

エクスポートのアイコン → CSVファイル(.csv) · Excelファイル(.xls) · クリップボード(TSV — 貼り付け)。

  • ファイルへのエクスポートは、グリッドの 5,000行ではなく 元の SQL をもう一度実行して全体を保存 します。そのため、グリッドのフィルタ・並べ替えはファイルに反映されません。
  • CSV は UTF-8(BOM 付き)です。Excel はすべての欄を文字列形式で保存し、最大 1,048,575行 です。
  • クリップボードへのコピーはグリッドのフィルタ・並べ替えを反映します。

トランザクションと自動コミット

Section titled “トランザクションと自動コミット”

データを変えた後に すぐ確定するか(自動コミット、既定)、確認してから確定するか(手動コミット) を決めます。

  1. ヘッダー行の ● 自動コミット を押して ● 手動コミット に切り替えます。コミット · ロールバック のボタンが現れます。
  2. UPDATE・INSERT・DELETE を実行すると ● 未コミット が表示されます。
  3. 正しければ コミット、違えば ロールバック。
  • トランザクションは接続単位です。 同じ接続の SQL タブ同士はコミットしていない変更を共有し、1つのタブでコミットするとすべて確定します。
  • CREATE・ALTER・DROP のような構造の変更は、DB によってはすぐ確定してロールバックできません(Oracle の DDL はロールバック不可)。

SQL エディタで人が直接実行するときは確認ウィンドウがありません。AI が実行するとき、またはコードエディタの ▶ 実行 で実行するときに、次のように確認します。

危険度該当する SQL
確認なしSELECT など読むだけの SQL
確認WHERE のある UPDATE・DELETE、INSERT、MERGE、CREATE など
強い確認DROP、TRUNCATE、ALTER、WHERE のない UPDATE・DELETE

AI の UPDATE・DELETE は、影響を受ける行数を前もって数えて見せてくれます。

DB を変えた実行(人・AI どちらも)は 変更履歴 に残り、単純な UPDATE・DELETE は実行前に元に戻すためのバックアップを作ります。

DBバックアップ方法
SQLite変わる行を Blyck の履歴ファイルに保管(最大 1,000行、UPDATE は主キーが必要)
Oracle · PostgreSQL · MSSQL · MySQLDB の中に blyck_bak_… バックアップテーブルを作って コピー(自動コミットのときだけ)
  • 元に戻すには Ctrl+Shift+H → DB の記録行 → [DBを元に戻す]。その DB に接続している必要があります。
  • サーバーの DB にできる blyck_bak_… テーブルは、ChangeSet ウィンドウの [バックアップテーブルを整理] で削除します。
  • JOIN・サブクエリのような複雑な文、INSERT、DROP・TRUNCATE は元に戻せません。

DB を元に戻す確認画面 — 実行する SQL と接続先を先に見せる

  1. 「接続:」— 元に戻す DB。その DB に今接続している必要があります
  2. 実行する元に戻す SQL — サーバーの DB は、変更前に作っておいた blyck_bak_… バックアップ表から復元します
  3. 「⚠ 本番データが実際に変更されます。」確認してから [元に戻すを実行]
  • 接続の切替:SQL はそのままで 実行する DB だけ を別の接続に変えます(ヘッダー行の右端の DB ボタン ▾)。開発 → 検証 → 本番の DB に同じクエリを順番に流すときに使います。一覧には開いている DB と保存した DB 接続が一緒に出ます。保存した接続を選ぶと、接続してその DB のツリーをツリーパネルの後ろに開いておきます(今見ているツリーはそのまま)。
  • 履歴:実行に成功した SQL の直近300件。すべての接続で1つの一覧を使います。
  • スニペット:よく使う SQL に名前を付けて保存(最大500件)。
  • 再起動したとき:開いていた DB パネルと SQL エディタの内容を再び開きます。パスワードを保存していない接続ではパスワード入力ウィンドウが出ます。

SQL エディタの AI(Ctrl+I)— 上:入力ボックス(表の情報と直前のエラーをチップで一緒に送る)· 下:直した結果(変わった行のすぐ下の小さなカード、実行せずに構文だけ確認)

  1. 「AI」ボタンまたは Ctrl+I — カーソルの位置にボックスが開きます。上の行は ✦ 入力欄 · ↑ · ×。選択があればその部分だけ、なければ SQL全体(Pro)
  2. 下の行のチップ — SQL に出てくる表の列(orders 6 = 列 6 個、マウスを乗せると詳しく)と直前のエラー(ORA-00904、× で外す)。右端のモデル名を押すとモデルを選べます
  3. 直した結果 — 変わった行のすぐ下の小さなカード:直した理由 1 行 · +1 −1 ·「構文を確認済み — 実行していません」·「チャットで続ける」·「破棄 Esc」·「適用 Tab」

編集欄の SQL を AI に直してもらったり、説明してもらったりします。

  1. ヘッダー行の AI ボタンか Ctrl+I を押すと、カーソルの位置にボックスが開きます。選択があればその部分だけ、なければ SQL全体が対象です。
  2. ボックスの上の行は ✦ 入力欄 · ↑(送信)· ×、下の行は一緒に送る チップ です。SQL に出てくる表(例:orders 6 = 列 6 個、マウスを乗せると詳しく)と直前のエラー(例:ORA-00904)が表示され、その表の列名・型・キー・説明も一緒に送られるので、AI が列名を推測しません。エラーは × で外せます。右端のモデル名を押すとモデルを選べます。
  3. 依頼を書いて Enter。例:このエラーを直して · ユーザー別の合計に · 説明して
  4. 直した SQL は 実行せずに構文だけ 確認します(DB がエラーを出したら AI が直し直す、最大 2 回)。変わった行をその場で赤・緑で表示し、変えた理由 1 行と 構文を確認済み — 実行していません が付きます。適用 Tab · 破棄 Esc · チャットで続ける
  • 送信中はボックスに段階(テーブル情報 → AI が修正中 → 構文チェック)が表示されます。↑ の位置の ■ 停止 を押すと中止しますが、ボックスは残るので、書いた内容を直して送り直せます。
  • 説明を頼んだときは、SQL はそのままで同じ形のカードで答えます。回答をコピー、下の 続けて質問… 欄(前の質問と答えを一緒に送って聞き直す)、チャットで続ける があります。チャットで続ける は、依頼 · 元の SQL · 直した SQL · 理由 · 構文チェック · 一緒に送った表の情報とエラーをすべてチャットの入力欄に入れます(送信は自分で)。
  • 新しいクエリ は AI チャット に言葉で頼んでください。チャットが表の構造を見て SQL を試したうえでコードブロックで渡し、コードブロックの ⤓ エディタに挿入 を押すと、その DB の SQL エディタのカーソルの下に入ります。実行は自分で行います。
  • グリッドセル AI: 結果の表でセルを選んでからグリッドで Ctrl+I →「この値の外れ値を分析」のように聞きます。選んだ行が200を超えると先頭200行だけを送ります。

AI チャットでも、開いている DB を見て構造を調べたり SQL を実行したりできます(書き込みは承認カード)。AI チャット を見てください。

Q. Oracle で NJS-116 エラーが出ます。 Thin 方式が対応していないパスワード方式です。Thickを強制 にチェックを入れ、クライアントのパス に64ビット Instant Client のフォルダを指定してください。

Q. Oracle で NJS-118 エラーが出ます。 すでに Thin で接続した後なので Thick に切り替えられません。アプリを再起動してから Thickを強制 で接続してください。

Q. Oracle で ORA-12514 / ORA-12505 が出ます。 サービス名または SID が合っていません。Service 欄の値を確認してください。

Q. MySQL のツリーに「データベース(スキーマ)を指定してください」と出ます。 Database 欄が空です。保存した接続の ✎ または接続ウィンドウで Database を入れてください。

Q. 結果が 5,000行で止まります。 一度に 5,000行だけ受け取ります。結果行の 次の 5,000 行 ▾ またはエクスポートのアイコンを使ってください。

Q. セルを直したのに DB に反映されません。 UPDATE 文が作られるだけです。編集欄の最後の UPDATE を Ctrl+Enter で実行してください(手動コミットなら コミット まで)。

Q. エクスポートしたファイルにフィルタが効きません。 ファイルへのエクスポートは元の SQL 全体をもう一度実行します。SQL に WHERE を入れるか、クリップボードへのコピーを使ってください。

Q. CSV を Excel で開いたら日本語が文字化けします。 Excel の「データの取り込み」で UTF-8 を指定するか、クリップボード(TSV)で貼り付けてください。

Q. DB に blyck_bak_… テーブルができました。 元に戻すためのバックアップです。ChangeSet ウィンドウの [バックアップテーブルを整理] で削除してください。

Q. AI が直した SQL が実行されていません。 直した SQL はわざと実行せず、構文だけ確認します。適用 Tab で入れてから Ctrl+Enter で実行してください。

Q. 再起動したら DB パネルが空でした。 パスワードを保存していない接続です。表示されたウィンドウにパスワードを入れ、次からは 保存名 を入れて接続してください。