·5分で読めます

MacのSQLite:コマンドラインとGUI——それぞれの使いどころ

sqlite3のCLIはすべてのMacに付属しており、簡単なクエリには対応できますが、見慣れないスキーマの閲覧・編集・理解には向いていません。ツールを切り替えるタイミングを知ることが時間の節約につながります。

すべてのMacにはsqlite3コマンドラインツールが付属しています。ターミナルに慣れた開発者にとっては、簡単なクエリを実行する信頼できる手段です。しかしCLIが効率的でなくなり、GUIの方が速くなる境界線が存在します——コツは、その境界線がどこにあるかを知ることです。作業に合わないツールを使うと、どちらの方向でも時間を無駄にします。

コマンドラインが有利な場面

sqlite3のCLIは、スクリプト化された操作において真価を発揮します。データベースから値を抽出するシェルスクリプトを書いているなら、CLIは他のコマンドに直接パイプできます。ワンライナーのクエリは高速です。sqlite3 app.db "SELECT count(*) FROM users;"は、何も起動することなく答えを返してくれます。自動化、.dumpによるバックアップ、既存のターミナルセッションでの簡単な確認には、CLIが適したツールです。

また、どこでも利用できます。インストールもダウンロードも不要です。リモートマシンにSSH接続していたり、CIパイプラインで作業していたりする場合、手元にあるのはCLIだけです——そしてスキーマを把握している対象を絞ったクエリであれば、それで十分に機能します。

CLIが力不足になる場面

探索的な作業になると、CLIは破綻します。見慣れないデータベースを開いてスキーマを理解する必要があるとき、.tables.schema tablenameを繰り返し実行するのは時間がかかります。幅の広いテーブルはターミナル内で折り返されます。結果をスクロールする方法はなく、出力はただ流れ去っていくだけです。データの編集には、正確なWHERE句を伴うUPDATE文を書く必要があり、タイプミスがあれば意図しない一括更新のリスクが生じます。

データアナリスト、デザイナー、QAテスターなど、開発者ではない人々にとって、CLIは事実上使い物になりません。そして開発者にとっても、いくつものテーブルをビジュアルに閲覧するのは、単純にGUIの方が速いのです。

Tome:この方程式のGUI側

Tomeは、ネイティブなmacOS向けSQLiteブラウザとしてGUIの役割を担います。CLIの代替ではなく、その補完的な存在です。スクリプト作成や簡単な確認にはCLIを、閲覧・編集・データベースをビジュアルに理解するにはTomeを使いましょう。

Tome GUI SQLite browser compared to command line on Mac

見慣れないスキーマを探索する

任意のデータベースを開けば、サイドバーにすべてのテーブル、ビュー、インデックス、トリガーが表示されます。テーブルをクリックして回ることでスキーマを理解し、サンプルデータをざっと確認し、リレーションシップを把握できます——コマンドを一つも入力することなく。

安全に編集する

セルをクリックして値を変更します。UPDATE文もWHERE句を間違えるリスクもありません。クリック一つで行の挿入・削除もできます。それぞれの編集がクリックしたセルだけを正確に対象とするため、意図しない一括変更のリスクはなくなります。

サポート付きでクエリを書く

SQLを書く際には、Tomeのクエリエディタがシンタックスハイライトとオートコンプリートを提供します。これは、素のCLIと本格的なデータベースIDEの中間に位置するもので、エンタープライズ向けツールのオーバーヘッドなしに、クエリを速く書くために十分なサポートを提供します。

Mac App StoreでTomeを入手する

次の記事

Tome

Browse, query, and edit SQLite databases in a native Mac app.

Get Tome on the Mac App Store