ファイルに書かれているクエリを実行してみます。
table.sqlにテーブルの設計(スキーマ)が書かれているとします。
※ ファイルのパスは/path/to/dir/table.sqlだとして話を進めます
CREATE TABLE users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, money INTEGER );
このファイルをSQLite3で読み込み実行してみます。
インメモリーモード
# table.sqlがあるディレクトリまで移動 $ cd /path/to/dir/ $ sqlite3
sqlite> .read table.sql sqlite> .schema users
※ usersはtable.sqlに記載されているテーブル名
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR,
money INTEGER
);
table.sqlで書かれているテーブルが作成されていました。
パーシステントモード(永続化モード)
# table.sqlがあるディレクトリまで移動 $ cd /path/to/dir/ $ sqlite3 sample.sqlite3 < table.sql $ sqlite3 samlpe.sqlite3
sqlite> .schema users
※ usersはtable.sqlに記載されているテーブル名
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR,
money INTEGER
);
table.sqlで書かれているテーブルが作成されていました。
今回の方法はINSERTクエリが記載されたファイルでも読み込みと実行が可能です。