概要
コマンドラインツールには select
文の結果表示モードを変更する
.mode コマンドがある。
box や
column では
幅広の文字を表示しようとすると体裁が崩れてしまっていた。
ver 3.51.0 でこれが改善され、日本語のひらがなや漢字でも体裁が崩れることなく表示されるようになった。
構文
改善された表示モードは以下の通り。
.mode box
.mode column
.mode markdown
.mode qbox
.mode table
実行例
まずは古いバージョンでの見え方。
環境
- Windows 11
- SQLite3 Command-Line Shell ver 3.49.0
sqlite> .version
SQLite 3.49.0 2025-02-06 11:55:18 4a7dd425dc2a0e5082a9049c9b4a9d4f199a71583d014c24b4cfe276c5a77cde
zlib version 1.3
msvc-1939 (64-bit)
sqlite> create table user (id, name);
sqlite> insert into user values ('0001', 'ほげほげ');
sqlite> select * from user;
0001|ほげほげ
sqlite> .mode box
sqlite> select * from user;
┌──────┬──────┐
│ id │ name │
├──────┼──────┤
│ 0001 │ ほげ │
└──────┴──────┘
sqlite> .mode column
sqlite> select * from user;
id name
---- ----
0001 ほげ
sqlite> .mode markdown
sqlite> select * from user;
| id | name |
|------|------|
| 0001 | ほげ |
sqlite> .mode qbox
sqlite> select * from user;
┌────────┬────────┐
│ id │ name │
├────────┼────────┤
│ '0001' │ 'ほげほげ' │
└────────┴────────┘
sqlite> .mode table
sqlite> select * from user;
+------+------+
| id | name |
+------+------+
| 0001 | ほげ |
+------+------+
上記の例では、「name」カラムに「ほげほげ」というデータが入っているが、 表示モードを切り替えることで体裁が崩れ、データが欠けてしまっていることがわかる。
これが ver 3.51.0 以降は改善され、表示されるようになる。
環境
- Windows 11 64bit
- SQLite Command-Line Shell ver 3.51.3
sqlite> .version
SQLite 3.51.3 2026-03-13 10:38:09 737ae4a34738ffa0c3ff7f9bb18df914dd1cad163f28fd6b6e114a344fe6d618
zlib version 1.3
msvc-1939 (64-bit)
sqlite> create table user (id, name);
sqlite> insert into user values ('0001', 'ほげほげ');
sqlite> select * from user;
0001|ほげほげ
sqlite> .mode box
sqlite> select * from user;
┌──────┬──────────┐
│ id │ name │
├──────┼──────────┤
│ 0001 │ ほげほげ │
└──────┴──────────┘
sqlite> .mode column
sqlite> select * from user;
id name
---- --------
0001 ほげほげ
sqlite> .mode qbox
sqlite> select * from user;
┌────────┬────────────┐
│ id │ name │
├────────┼────────────┤
│ '0001' │ 'ほげほげ' │
└────────┴────────────┘
sqlite> .mode markdown
sqlite> select * from user;
| id | name |
|------|----------|
| 0001 | ほげほげ |
sqlite> .mode table
sqlite> select * from user;
+------+----------+
| id | name |
+------+----------+
| 0001 | ほげほげ |
+------+----------+
参考URL
-
Command Line Shell For SQLite
公式のコマンドラインツールに関するドキュメント
https://www.sqlite.org/cli.html -
Changing Output Formats
公式の出力モードに関するドキュメント
https://www.sqlite.org/cli.html#dotmode
-
SQLite備忘録: SQLite3 .mode コマンドの出力サンプル
https://sfnovicenotes.blogspot.com/2021/04/sqlite-3-mode.html