TL;DR
Go で書かれた、TUI のデータベース管理ツール。ターミナル上でスキーマの閲覧、クエリの実行、データの直接編集ができる。
仕組み
README の Features によると、主な特徴は次のとおりである。
- macOS、Windows、Linux で動くクロスプラットフォームのツールである
- MySQL、PostgreSQL、SQLite、MSSQL に対応している
- Vim に似たキーバインドで操作する
- 複数のコネクションを管理できる
- タブを使って、複数のデータベースオブジェクトを同時に操作できる
- 内蔵の SQL エディタでクエリを実行できる
例
macOS では Homebrew でインストールする(Getting Started)。
brew tap jorgerojas26/lazysql
brew install lazysqllazysql -h でオプションを確認できる。
$ lazysql -h
lazysql
Usage: lazysql [options] [connection_url]
connection_url
database URL to connect to. Omit to start in picker mode
Options:
-config string
config file to use (default "/.../Application Support/lazysql/config.toml")
-logfile string
Log file
-loglevel string
Log level (default "info")
-version
Show versionMySQL には、接続 URL を渡して接続する。lazysql を起動してから n を押しても接続できる。
lazysql mysql://phper:secret@localhost:3306/laravelキーバインド
すべてのキーバインドは ? で確認できる(Keybindings)。よく使うものは次のとおりである。
全般
q: 終了するCtrl + e: SQL エディタを開くDelete: コネクションの選択画面に戻る
テーブル
c: セルを編集するd: 行を削除するo: 行を追加する/:WHERE句の入力欄か SQL エディタにフォーカスするCtrl + s: 変更をコミットする>/<: 次のページ / 前のページK/J: 昇順 / 降順に並び替えるH: ツリーにフォーカスするCtrl + [/Ctrl + ]: 次のタブ / 前のタブに移動する。タブは、ツリーからテーブルを選んだり SQL エディタを開いたりするたびに作られ、画面上部で確認できるX: 現在のタブを閉じるR: 現在のテーブルを更新する
ツリー
L: テーブルにフォーカスするg/G: ツリーの一番上 / 一番下にフォーカスするCtrl + u/Ctrl + d: 現在の位置から 5 つ上 / 5 つ下にフォーカスする
SQL エディタ
Ctrl + R: SQL 文を実行する
自分の理解
Vim ライクなキーバインドかぁ…という気持ちはある。とはいえ、上のキーバインドを知っておけばなんとかなる。