概要
あらかじめSQLやコマンドを記述したテキストファイルを準備しておき、 コマンドラインツールから読み込み・実行することができる。 「.read」コマンドを使う。 テキストデータをテーブルに反映する「.import」とは異なる。
コマンドプロンプトやbashからSQLやコマンドを記述したテキストファイルを実行させたい場合はこちら。
SQLite 3 バッチファイルやシェルスクリプトからSQLを実行する
ヘルプの内容
sqlite> .help .read
.read FILE Read input from FILE
外部のSQLを実行する例
id primary key autoincrement |
name not null |
quantity default 0 |
remark |
---|---|---|---|
1 | tomato | 100 | |
2 | potato | 120 | |
3 | pumpkin | 50 | (Comment...) |
例)データを新規登録して結果を表示
環境
- Windows 10 64bit
- SQLite3 (3.33.0) Command-Line Shell
sample01.sql
insert into product
(id, name, quantity, remark)
values
(4, 'soy', 30, '300g');
select * from product;
上記ファイルをSQLiteコマンドラインツールで実行する
sqlite> .read ./sample01.sql
1|tomato|100|
2|potato|120|
3|pumpkin|50|(Comment...)
4|soy|30|300g
コマンドも記述できる
「.mode」や
「.print」
といったSQLiteコマンドラインツールのコマンドも記述できる。
また、「--」で始まる行はコメントとして認識され、実行されない。
sample02.sql
-- this is sample script
insert into product
(id, name, quantity, remark)
values
(4, 'soy', 30, '300g');
.print "inserted 1 item \n"
.mode csv
select * from product;
上記ファイルをSQLiteコマンドラインツールで実行する
sqlite> .read ./sample02.sql
inserted 1 item
1,tomato,100,""
2,potato,120,""
3,pumpkin,50,(Comment...)
4,soy,30,300g
参考URL
-
Command Line Shell For SQLite
公式のコマンドラインツールに関するドキュメント
https://www.sqlite.org/cli.html