概要
SQLite3 のコマンドラインツールは、 デフォルトだとselect結果の表示の列が揃っておらず 区切り文字も「|」になっていて見づらい。 列をそろえて表示するには「.mode」コマンドで出力モードを変更する。
「.mode」で変更できる出力モードは複数あるが、 コマンドラインツールで見やすさを求めるなら「box」「column」「markdown」「table」がいい。 個人的には「box」が一番見やすい。
環境
- Windows 10 64bit
- SQLite3 (3.33.0) Command-Line Shell
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
-
Command Line Shell For SQLite
公式のコマンドラインツールに関するドキュメント
https://www.sqlite.org/cli.html -
Changing Output Formats
公式の出力モードに関するドキュメント
https://www.sqlite.org/cli.html#dotmode
-
あさはか備忘録: SQLite 3 コマンドラインツールでカラム名を表示する「.headers」について
https://sfnovicenotes.blogspot.com/2021/07/sqlite-3-headers.html