通常、sqlite3のコマンドを叩くときは、bashから
$ sqlite3 <db_file_path>
で接続してSELECTなりINSERTなり作業するが、これを直接bashからやりたいときがある。
bashから直接sqlite3のコマンドを叩くときは
$ sqlite3 <db_file_path> "<sqlite3_cmd>"
のようにする。
例えば、
$ sqlite3 ./hoge.sqlite3 "CREATE TABLE hoge(hoge1, hoge2);"
のようになる。
ただ、このままだと1つのコマンドしか実行できない。
複数のコマンドを実行したいときは、
$ sqlite3 ./hoge.sqlite3 -cmd ".mode csv" "SELECT * FROM hoge;"
とcmdオプションを指定する。
また、出力をcsvなどに切り替えるときは
$ sqlite3 -csv ./hoge.sqlite3 "SELECT * FROM hoge;"
のように書ける。sqlite3 –helpで見れば出てくるが、何故か自分の環境(ver3.22.0)ではtabsとかが無く、設定できるのはascii、column、csv、line、list、quoteだけだった。。。
結果が取れたらパイプで渡して美味しく調理しましょう。
コメント