SQLite3でファイルに書かれているクエリを読み込む

ファイルに書かれているクエリを実行してみます。

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

Linuxコマンドのリダイレクトを試す


sqlite> .schema users

※ usersはtable.sqlに記載されているテーブル名

CREATE TABLE users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name VARCHAR,
        money INTEGER
);

table.sqlで書かれているテーブルが作成されていました。


今回の方法はINSERTクエリが記載されたファイルでも読み込みと実行が可能です。

京都の東本願寺で開催されているプログラミング教室で講師をしています。
詳しくはTera schoolを御覧ください。
マインクラフト用ビジュアルエディタを開発しています。

詳しくはinunosinsi/mcws_blockly - githubをご覧ください。