概要
SQLite3 のコマンドラインツールでコマンドやSQLの実行結果を
ファイルに出力する方法について。
似たコマンドに
「
.output
」がある。
環境
- Windows 10 64bit
- SQLite3 ver.3.29.0
ヘルプの内容
sqlite> .help .once
.once (-e|-x|FILE) Output for the next SQL command only to FILE
If FILE begins with '|' then open as a pipe
Other options:
-e Invoke system text editor
-x Open in a spreadsheet
テキストファイルに出力する
sqlite> .once sample.txt
sqlite> select * from sample_table;
sqlite>
テキストエディタで表示する
テキストエディタが起動して表示される。
そこから編集したり保存しなおしたりできる。
sqlite> .once -e
sqlite> select * from sample_table;
sqlite>
スプレッドシートとして表示する
CSVエディタが起動して表示される。
そこから編集したり保存しなおしたりできる。
「.excel」コマンドとほぼ同じ。
sqliteの文字コードがutf-8のため、Microsoft Excelでは文字化けしてしまう。
sqlite> .once -x
sqlite> select * from sample_table;
sqlite>
Select文以外も出力できる
例えば、ヘルプをテキストファイルに保存しておきたい場合は・・・
sqlite> .once help.txt
sqlite> .help
sqlite>
パイプを使って別のコマンドに渡す
コマンドプロンプトやbashでおなじみのパイプ「|」で
出力結果を他のコマンドに渡すことができる。
こちらも文字コードの都合上、文字化けするのことがある。
sqlite> select * from sample_table
1|test001
2|sample002
sqlite> .once '| findstr test'
sqlite> select * from sample_table
1|test001
参考URL
-
Command Line Shell For SQLite
公式のコマンドラインツールに関するドキュメント
https://www.sqlite.org/cli.html
-
あさはか備忘録: SQLite3 「.once」と「.output」について
https://sfnovicenotes.blogspot.com/2019/10/sqlite3-onceoutput.html -
あさはか備忘録: SQLite3 「.excel」について
https://sfnovicenotes.blogspot.com/2019/12/sqlite3-excel.html