SQLiteでデータをエクスポート(csv形式)する手順について記載しています。
目次
エクスポート手順
Windowsはコマンドライン、MacはターミナルからSQLiteに接続して次のコマンドを実行します。
コマンド
.headers on
.mode csv
.once csvの出力先パス(ファイル名含む)
select * from エクスポート対象のテーブル;
.mode csv
.once csvの出力先パス(ファイル名含む)
select * from エクスポート対象のテーブル;
.headers on (任意)
エクスポートデータの1行目に列名を出力させる場合に指定します。
.mode csv (必須)
出力形式を csv にします。
.once csvの出力先パス(必須)
エクスポートデータの出力先のパスを指定します。
select * from エクスポート対象のテーブル;
エクスポートしたいデータを指定します。
ここでselectしたデータがcsvファイルに出力されます。
実行例1
productテーブルのデータをエクスポートします。
productテーブルの内容
1 2 3 4 5 6 |
sqlite> select * from product; id name price ---------- ---------- ---------- 1 商品A 1000 2 商品B 3000 3 商品C 5000 |
エクスポートを実行
1 2 3 4 |
sqlite> .header on sqlite> .mode csv sqlite> .once /Users/hoge/export.csv sqlite> select * from product; |
出力されたファイル(export.csv)
1 2 3 4 |
id,name,price 1,"商品A",1000 2,"商品B",3000 3,"商品C",5000 |
productテーブルのデータをcsv形式でファイルに出力できました。
実行例2(データにダブルクォーテーションが含まれる場合)
先ほどの登録データを、次のように変更し文字列内にダブルクォーテーションが含まれる場合、どのようにエクスポートされるか確認します。
productテーブルの内容
1 2 3 4 5 6 |
sqlite> select * from product; id name price ---------- ---------- ---------- 1 商品"A 1000 2 商品"B" 3000 3 商品C 5000 |
id が 1 と 2 のデータの name列に、ダブルクォーテーションを含めました。
先ほどと同様にエクスポートすると、次のように出力されます。
1 2 3 4 |
id,name,price 1,"商品""A",1000 2,"商品""B""",3000 3,"商品C",5000 |
ダブルクォーテーションが二重化されエスケープされています。
コマンドを使用すると簡単にデータをcsv形式で出力することができます。