web-dev-qa-db-ja.com

SQLite:クエリの結果をCSVファイルとして保存するにはどうすればよいですか?

私はSQLiteが初めてです。クエリの結果をCSVファイルにエクスポートする方法はありますか?

142
RayLoveless

here およびd5e5のコメントから:

出力をcsv-modeに切り替え、ファイル出力に切り替える必要があります。

sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout
225
gdw2

Csvファイルに列名を含めるには、次を実行できます。

sqlite> .headers on
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout

行った変更を確認するには、次のコマンドを実行できます。

sqlite> .show

出力:

echo: off   
explain: off   
headers: on   
mode: csv   
nullvalue: ""  
output: stdout  
separator: "|"   
stats: off   
width: 22 18 
134
Sai Bharath

Gdw2およびd5e5からの良い回答。少し簡単にするために、ここでは推奨事項を1つの一連のコマンドにまとめています。

sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout
23
crsierra

上記の回答に加えて、.onceと同様の方法で.outputを使用することもできます。これは、指定されたファイルに次のクエリのみを出力するため、.output stdoutを続ける必要はありません。

したがって、上記の例では

.mode csv
.headers on
.once test.csv
select * from tbl1;
20
Mat