ヒント
Adminer はよく使う操作を手の届く所に置き、それ以外は省くのではなく隠しています。このページは見落としやすい機能を集めたもので、ほとんどはその場で試せます。 (デモ)
macOS では Ctrl と書かれている所はすべて Cmd を押してください。 各ヒントの末尾にあるコードは、そのヒントへの固定リンクです。
データの参照
- 結果の任意の値を Ctrl+クリック するとその場で変更でき、Esc で元の値に戻ります。保存 は変更したセルをまとめて書き込みます。 (デモ) [S1]
- 長いテキストは先頭 100 文字に切り詰められます。Ctrl+クリックで値全体を取得でき、文字数を丸める を空にすれば最初からすべて表示されます。 [S2]
- 編集 のリンクは結果全体を一度に入力欄へ変えます。 [S3]
- 行のどこをクリックしてもその行にチェックが入ります。ドラッグして文字列を選択した場合は行はそのままです。 [S4]
- チェックボックスを Shift+クリック すると、直前にクリックしたものとの間がすべてチェックされます。 [S5]
- ヘッダーのチェックボックスは現在のページの行を、全結果 のチェックボックスは条件に合うすべての行をチェックします。何もチェックしていないときは 編集・クローン・削除 は無効ですが、エクスポート は結果全体を対象にします。 [S6]
- 複数の行をチェックして 編集 を押すと、まとめて上書きできます。元 のままにした列は各行の値を保ちます。 [S7]
- クローン も同じように働き、チェックしたすべての行の複製を挿入します。 [S8]
- 選択 で列と集計関数を選ぶと、Adminer が GROUP BY のクエリを組み立てます。たとえば
author, COUNT(*) です。 (デモ) [S9]
- 出てきた件数をクリックすると、その内訳の行が表示されます。ほかの条件はそのまま有効です。 [S10]
- 検索の SQL 演算子は入力した文字列をそのままデータベースへ送ります。二つの列を比べたり (
= other_column)、副問い合わせ (IN (SELECT ...)) を使ったり、PostgreSQL の JSON ->> のように Adminer が用意していない演算子を使えます。 (デモ – この種の条件はデータを変更することもできるため、Adminer はフォームの再送信を求めます) [S11]
- 列を空のままにすると全列から検索します。単語を検索したときの数値列のように、そもそも一致しえない列は Adminer が飛ばします。 [S12]
- 列見出しにマウスを重ねてください。↓ は降順で並べ替え、= はその列を選んだ状態で検索を開きます。 [S13]
- 選択 ボタンの横の感嘆符は、条件に合うインデックスがないためデータベースがテーブル全体を読むことになる、という警告です。 [S14]
- 外部キーの値は参照先の行へのリンクになります。別のデータベースやスキーマにあっても同じです。 [S15]
~ 150 と書かれた行数は概算です。時間がかかるため、Adminer は大きなテーブルを正確には数えません。 [S16]
= 演算子を使って検索した場合、新規レコードを挿入 はその内容でフォームをあらかじめ埋めます。 [S17]
- CSV ファイルをテーブルへ直接取り込めます。列名と一致する 1 行目は見出しとして扱われ、既存の主キーを持つ行は重複せずに更新されます。 [S18]
行の編集
- NULL と表示されている列はどこもクリックする必要はありません。値を打ち始めれば NULL は消えます。 (デモ) [E1]
- 値を相対的に変更できます。
+ を選んで 10 と入力する、+ interval と 1 DAY、文字列を足すなら concat です。既に値がある場所でのみ提示されるので、通常の挿入では出てきません。 (デモ) [E2]
- SQL 関数を選べば自分で式を書けます。たとえば
REPLACE(text, 'a', 'b') です。 [E3]
now や uuid のような関数は値の欄を隠します。値はデータベース側で決まるからです。 [E4]
- 列が許す長さを超える値は、入力中に強調表示されます。 [E5]
- Ctrl+Enter は Adminer のどのフォームも送信します。Enter が押すことになるボタンは、入力中に強調表示されています。 [E6]
- Ctrl+Shift+Enter は、行の変更時は 保存して継続、追加時は 保存/追加 です。ページを離れずに保存されます。 [E7]
- Ctrl+Shift+↑ と Ctrl+Shift+↓ は、一つ上または下の行の同じ欄へ移動します。 [E8]
- テーブルに主キー、少なくとも NULL を含まない一意インデックスを付ければ、Adminer はそれで各行を見分けます。なければ行を全列で表すことになり、リンクが長くなり、変更は毎回 1 行に限られ、保存して継続 も使えなくなります。 [E9]
テーブルの作成と変更
- 先に AI のラジオボタンをクリックすると、列名が
id として埋まります。 (デモ) [C1]
- 前の列の型・長さ・NULL は次の列に引き継がれるので、同じ型の列をいくつも足すのは 1 列につき 1 クリックで済みます。 [C2]
- 列を
user や user_id と名付ければ、Adminer が外部キーを自分で見つけます。複数形のテーブル名にも対応します。 [C3]
- 別の名前の列では、型の一覧の末尾にある 外部キー のグループから参照先を自分で選べます。 [C4]
- ↕ のつまみをドラッグすると列を移動できます。 [C5]
- enum や set の列の 長さ の欄をクリックし、値を 1 行に 1 つずつ書いてください。引用符は Adminer が付けます。 [C6]
- インデックスは列を選ぶだけで十分です。型 INDEX と名前は自動で埋まります。 (デモ) [C7]
- トリガーは選んだタイミングとイベントにちなんで命名されます。たとえば
comments_bi です。 [C8]
画面の移動
- データベース概要の各列はそれぞれ別のページへ移動します。データ長 はテーブルの設定を変更へ、インデックス長 はインデックスを変更へ、行数 はデータへ、空き は新規レコードを挿入へ、連番 は現在の値が入った状態のテーブルの設定を変更へ移ります。この値は通常あえて空にされています。 (デモ) [G1]
- 見出しをクリックするとテーブルの一覧を並べ替えられます。 [G2]
- データを検索する は本当にすべてのテーブルのデータを調べます。先にいくつかテーブルをチェックすればその中だけを検索し、SQL を含めどの演算子も使えます。 [G3]
- テーブルの構造やデータの画面で エクスポート のリンクを使うと、そのテーブルがチェックされた状態で開きます。 [G4]
- エクスポートのテーブル一覧の下にあるリンクは、同じ接頭辞のテーブルを一度にすべてチェックします。 [G5]
- データベースの選択欄や任意のボタンを Ctrl+クリック または Shift+クリック すると、結果が新しいウィンドウで開きます。 [G6]
- Adminer は既定値をアドレスに入れません。だからアドレスは短いままで、
limit=、text_length=、page=last のように手で書き換えても安全です。 [G7]
- スキーマ では色がデータ型を、斜体が主キーを表します。テーブルはドラッグして配置でき、その配置は記憶され、固定リンクも用意されます。 (デモ) [G8]
- プロセス一覧では実行中のクエリを SQLコマンド に複製できるので、落ち着いて眺められます。 [G9]
SQL コマンド
- Ctrl+Enter でクエリを実行し、Ctrl+スペース でテーブル名と列名を補完します。 (デモ) [Q1]
- 強調表示されたキーワードを Ctrl+クリック すると、その文書が開きます。クエリ中のテーブル名はそのテーブルへのリンクです。 [Q2]
- 結果には関係するすべてのテーブルの主キーがリンクされるので、テーブルのキー全体が選ばれてさえいれば
a JOIN b でも両方の編集リンクが得られます。 [Q3]
- 結果の見出しにマウスを重ねると、その値が実際にどのテーブルのどの列から来ているかが分かります。 [Q4]
- クエリはアドレスに載って移動するので、履歴もブックマークも、同僚へのリンク送付も使えます。 [Q5]
- 表示行数を制限 は先頭の行だけを表示しますが、クエリ自体は最後まで実行され、その下のエクスポートはすべてを書き出します。 [Q6]
- 履歴はデータベースごとに保たれます。一括編集 は過去のクエリをすべてテキスト欄に読み戻します。 [Q7]
- エラーのみ表示 と エラーの場合は停止 があれば、大きなファイルの取り込みも耐えられます。 [Q8]
- 複数のファイルを一度に送れます。
.gz は途中で展開されます。アップロードするには大きすぎるファイルは、adminer.sql としてスクリプトの隣に置けばそこから取り込めます。 [Q9]
- 複数のテーブルを CSV でエクスポートすると、TAR 書庫が 1 つ得られます。 [Q10]
うまくいかないとき
- 保存後のエラーはリダイレクトせず同じアドレスに表示されます。別のタブで原因を直し、ページを再読み込みすれば同じデータをもう一度送れます。 [W1]
- 保存中にセッションが切れた場合は、同じ資格情報でログインすればその操作が実行されます。Adminer はそうなることを知らせます。 [W2]
- 同梱のプラグインやデザインを変更したものが古いと表示されるのを避けたい場合は、プラグインのファイル名を変えるか、CSS ファイルの 1 行目を書き換えてください。Adminer は自分が知っているファイルだけを比べます。 [W3]
- 通常の拡張がうまく動かないときは、アドレスに
?ext=pdo を足すと PDO 経由で接続します。逃げ道であって、より良い方法ではありません。 [W4]
プラグイン
- backward-keys: 現在の行を参照している行へのリンクの列を追加します。外部キーを逆向きにもたどれます。 Adminer Editor は初めからそうしています。 (デモ) [P1]
- edit-foreign: 編集フォームの外部キーの列を、参照できる行の一覧に変えます。番号を打つ代わりに行を選べます。 Adminer Editor は初めからそうしています。 [P2]
- remote-color: Adminer やデータベースが自分の機械で動いていないときに赤い帯を描きます。本番のデータを誤って変更しないための安上がりな方法です。 [P3]
- tables-filter: テーブル一覧の上に絞り込み欄を置き、入力に合わせて一致しないテーブルを隠し、一致した部分を強調します。同じデータベースにいる間、絞り込みは保たれます。 [P4]
- display-foreign-key-name: 素の数値の代わりに参照先テーブルの最初のテキスト列を表示するので、外部キーが何を指しているのかがそのまま分かります。 Adminer Editor は初めからそうしています。 [P5]
- sql-claude: SQLコマンド に入力欄を追加し、Anthropic Claude を使ってクエリを代わりに書きます。 [P6]