SQLiteでは、.modeコマンド もしくは .separator コマンドを使用して出力形式を変更します。
.mode コマンド
SQLiteで用意されているフォーマットを指定して出力形式を変更します。
1. 書式
.mode 書式を指定
2. フォーマット一覧
list |
デフォルトの表示形式。パイプ(|)区切りで表示。 |
csv |
各列をカンマ区切りで表示。 |
column |
列ごとに表示。
.widthコマンドを使用すると各列で表示する長さを指定できます。 |
html |
html形式で表示。 |
insert |
insert文形式で表示。 |
line |
1行ずつ表示。 |
tabs |
各列をタブ区切りで表示。 |
3. 出力例
以下の出力例は、productテーブル(id、name、price列を持つ)に対してselectした結果です。
list
|
sqlite> .mode list sqlite> select * from product; id|name|price 1|商品"A|1000 |
csv
|
sqlite> .mode csv sqlite> select * from product; id,name,price 1,"商品""A",1000 |
column
|
sqlite> .mode column sqlite> select * from product; id name price ---------- ---------- ---------- 1 商品"A 1000 |
columnに切り替え後、.widthコマンド で各列に表示する文字数を指定できます。
次の例は、id:3文字、name:10文字、price:5文字 と指定しています。
|
sqlite> .width 3 10 5 sqlite> select * from product; id name price --- ---------- ----- 1 商品"A 1000 |
html
|
sqlite> .mode html sqlite> select * from product; <TR><TH>id</TH> <TH>name</TH> <TH>price</TH> </TR> |
insert
|
sqlite> .mode insert sqlite> select * from product; INSERT INTO table(id,name,price) VALUES(1,'商品"A',1000); |
line
|
sqlite> .mode line sqlite> select * from product; id = 1 name = 商品"A price = 1000 id = 2 name = 商品"B" price = 3000 |
tabs
|
sqlite> .mode tabs sqlite> select * from product; id name price 1 商品"A 1000 |
.separator コマンド
自由に列の区切り文字を指定することができます。
1. 書式
.separator “自由に指定”
2. 出力例
例えば、区切り文字を”,,,”と指定します。
|
sqlite> .separator ",,," sqlite> select * from product; 1,,,商品"A,,,1000 |
まとめ
.mode と .separator コマンドを使用して出力形式を変更しました。
個人的には、.mode column が見やすいと思います。