SQLite3 で縦横を変えて表示する方法をここにメモします。
[.mode column] を使う(CLI)
SQLite の対話モードで以下を実行すると、表形式で見やすく表示されます。
- カラム名が上部に表示される(横向きのままだが見やすい)
- 各列のデータが整列する
.mode column SELECT * FROM users;
[.mode line] を使う(CLI)
データを縦向きに表示するには、以下を実行します。
- 各行が1レコードごとにブロック形式で表示される
- カラム名がデータと一緒に縦に並ぶ
.mode line SELECT * FROM users;
出力例
id = 1 name = Alice age = 25 id = 2 name = Bob age = 30
[UNION ALL] を使う(SQLクエリ内で縦変換)
テーブルのカラムを行として表示するには、以下のような SQL を使います。
- SQLクエリだけでカラムを行として取得できる
- ユーザー定義ビューとして保存可能
SELECT 'id' AS column_name, id AS value FROM users UNION ALL SELECT 'name', name FROM users UNION ALL SELECT 'age', age FROM users;
出力例(縦表示)
column_name | value ------------+------ id | 1 name | Alice age | 25 id | 2 name | Bob age | 30
[.mode json] を使う(CLI)
SQLite 3.38 以降なら [.mode json] を使うと、データがJSON形式で表示され、縦に見やすくなります。
- JSONとして扱いやすい
- データの可読性が高い
.mode json SELECT * FROM users;
出力例
[ {"id":1, "name":"Alice", "age":25}, {"id":2, "name":"Bob", "age":30} ]