SQLiteの Command Line Shell で 実行したSQLの出力先をファイルに変更する方法について記載します。
目次
1. 出力先をファイルに変更する
Windowsはコマンドライン、MacはターミナルからSQLiteに接続して次のコマンドを実行します。
コマンド
.output 出力先のファイルパス
実行例
productテーブルを select した結果をファイル(output.txt)に出力する例です。
1 2 |
sqlite> .output /Users/hoge/output.txt sqlite> select * from product; |
SQLを実行するたびに、output.txt ファイルに出力結果が追記されます。
また、ファイルから標準出力(コマンドプロンプトやターミナル)に戻したい場合は、次のコマンドを実行します。
.output stdout
2. 出力先を”1度だけ”ファイルに変更する
先ほどの .output コマンドは、SQLの実行結果がファイルに固定される仕様でした。
次のコマンドは、コマンド実行後の次のSQLの結果のみファイルに出力します。
コマンド
.once 出力先のファイルパス
実行例
productテーブルを select した結果をファイル(output_once.txt)に出力する例です。
1 2 3 4 5 6 7 |
sqlite> .once /Users/hoge/output_once.txt sqlite> select * from product; sqlite> select * from product; id,name,price 1,"商品A",1000 2,"商品B",3000 3,"商品C",5000 |
1行目の.once コマンドを実行したタイミングで、output_once.txt ファイルが作成されます。
そして、2行目で実行した select 結果が output_once.txt ファイルに書き込まれます。
3行目の実行結果はファイルではなく、元の出力先(コマンドプロンプトやターミナル)に表示されます。