2020年11月14日土曜日

SQLite 3 コマンドラインツールでselectの結果を見やすくする

概要

SQLite3 のコマンドラインツールは、 デフォルトだとselect結果の表示の列が揃っておらず 区切り文字も「|」になっていて見づらい。 列をそろえて表示するには「.mode」コマンドで出力モードを変更する。

「.mode」で変更できる出力モードは複数あるが、 コマンドラインツールで見やすさを求めるなら「box」「column」「markdown」「table」がいい。 個人的には「box」が一番見やすい。

環境
  • Windows 10 64bit
  • SQLite3 (3.33.0) Command-Line Shell
サンプルテーブル(product)
id
primary key
autoincrement
name
not null
quantity
default 0
remark
1 tomato 100
2 potato 120
3 pumpkin 50 (Comment...)

boxの表示例

headers:off の状態でもカラム名は自動的に表示される


sqlite> .mode box
sqlite> select * from product;
┌────┬─────────┬──────────┬──────────────┐
│ id │  name   │ quantity │    remark    │
├────┼─────────┼──────────┼──────────────┤
│ 1  │ tomato  │ 100      │              │
│ 2  │ potato  │ 120      │              │
│ 3  │ pumpkin │ 50       │ (Comment...) │
└────┴─────────┴──────────┴──────────────┘
                

columnsの表示例

強制的にheaders:onに変更される。 「.headers off」とするとカラム名を非表示にできる。


sqlite> .mode column
sqlite> select * from product;
id  name     quantity  remark
--  -------  --------  ------------
1   tomato   100
2   potato   120
3   pumpkin  50        (Comment...)

sqlite> .headers off
sqlite> select * from product;
1   tomato   100
2   potato   120
3   pumpkin  50        (Comment...)
                

markdownの表示例

markdown記法に従った形式で表示される。 headers:off の状態でもカラム名は自動的に表示される。


sqlite> .mode markdown
sqlite> select * from product;
| id |  name   | quantity |    remark    |
|----|---------|----------|--------------|
| 1  | tomato  | 100      |              |
| 2  | potato  | 120      |              |
| 3  | pumpkin | 50       | (Comment...) |
                

tableの表示例

headers:off の状態でもカラム名は自動的に表示される


sqlite> .mode table
sqlite> select * from product;
+----+---------+----------+--------------+
| id |  name   | quantity |    remark    |
+----+---------+----------+--------------+
| 1  | tomato  | 100      |              |
| 2  | potato  | 120      |              |
| 3  | pumpkin | 50       | (Comment...) |
+----+---------+----------+--------------+
                

参考URL