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
1 2 3 4 |
sqlite> .mode list sqlite> select * from product; id|name|price 1|商品"A|1000 |
csv
1 2 3 4 |
sqlite> .mode csv sqlite> select * from product; id,name,price 1,"商品""A",1000 |
column
1 2 3 4 5 |
sqlite> .mode column sqlite> select * from product; id name price ---------- ---------- ---------- 1 商品"A 1000 |
columnに切り替え後、.widthコマンド で各列に表示する文字数を指定できます。
次の例は、id:3文字、name:10文字、price:5文字 と指定しています。
1 2 3 4 5 |
sqlite> .width 3 10 5 sqlite> select * from product; id name price --- ---------- ----- 1 商品"A 1000 |
html
1 2 3 4 5 6 |
sqlite> .mode html sqlite> select * from product; <TR><TH>id</TH> <TH>name</TH> <TH>price</TH> </TR> |
insert
1 2 3 |
sqlite> .mode insert sqlite> select * from product; INSERT INTO table(id,name,price) VALUES(1,'商品"A',1000); |
line
1 2 3 4 5 6 7 8 9 |
sqlite> .mode line sqlite> select * from product; id = 1 name = 商品"A price = 1000 id = 2 name = 商品"B" price = 3000 |
tabs
1 2 3 4 |
sqlite> .mode tabs sqlite> select * from product; id name price 1 商品"A 1000 |
.separator コマンド
自由に列の区切り文字を指定することができます。
1. 書式
.separator “自由に指定”
2. 出力例
例えば、区切り文字を”,,,”と指定します。
1 2 3 |
sqlite> .separator ",,," sqlite> select * from product; 1,,,商品"A,,,1000 |
まとめ
.mode と .separator コマンドを使用して出力形式を変更しました。
個人的には、.mode column が見やすいと思います。