SQLite3を使ってみるでテーブルの作成、値の挿入とテーブル内の値の出力を見てきました。
sqlite> SELECT * FROM users;
※ sqlite>の箇所の入力は不要です。
の実行結果が
1|太郎|100
で各値が何のカラムに対応しているかわからないので、値を確認しやすくしてみます。
SQLite3を起動して、下記のコマンドを実行してみます。
sqlite> .headers on
sqlite> SELECT * FROM users;
で実行結果がどのように変わったかを確認してみます。
id|name|money 1|太郎|100
各カラムと各値の対応はわかるようになりましたが、まだ見難いです。
そこで下記のコマンドを実行してみます。
sqlite> .mode table
sqlite> SELECT * FROM users;
で実行結果がどのように変わったかを確認してみます。
+----+------+-------+ | id | name | money | +----+------+-------+ | 1 | 太郎 | 100 | +----+------+-------+
多少の表示崩れはありますが、格段に見やすくなりました。
.modeで指定出来る設定は下記の通りです。
| コマンド | 表示スタイル | 用途 |
|---|---|---|
| table | 枠線付き | 視認性が高く、データの確認に最適。 |
| column | 列で整列 | シンプルに整列させたいとき。 |
| csv | カンマ区切り | Excelやスプレッドシートにデータを取り込みたいとき。 |
| list | 縦棒 | 区切り | SQLiteのデフォルト。プログラムで結果を処理する場合に便利。 |
| insert | INSERT文形式 | データを他のデータベースへ移行するためのSQLを作成したいとき。 |
| json | JSON形式 | Web開発などで、データ構造をそのままコピーして使いたいとき。 |
.headersで指定した表示設定はSQLite3を終了すると消えてしまいます。
常に設定が反映されるようにするためにはホームディレクトリにSQLite3の設定ファイルを置きます。
$ micro ~/.sqliterc
.headers on .mode table
これで常にSELECTの結果の出力が整形されている状態になりました。