記事一覧

Windows向け sqlite3.exe でSQLスクリプトを実行する

 

  
目次     



  

SQLiteのSQLスクリプトを実行する

ハロー、みなさん。エジソンです。 

最近、SQLiteにおいて、SQLが書かれたスクリプトファイルを実行したいシチュエーションがありましたので、実行方法を備忘録として残しておくことにします。

簡単に言ってしまうと、SQLiteのWindows用の実行ファイルの sqlite3.exe。こちらにSQLスクリプトファイルを指定して、SQLを実行します。


sqlite3.exeをダウンロード

こちらからダウンロードしましょう。


上記のページ内で

Precompiled Binaries for Windows
sqlite-tools...

と書かれている箇所のダウンロードリンクを押下して、sqlite3.exeを取得しましょう。


SQLスクリプトファイルを実行してみる

SQLiteのDBとして、test.dbというファイルが存在するという前提で話を進めます。
また、ファイルが存在する場所・保存する先は、「C:\Users\username\Desktop」とします。

リスト1:test.sqlを保存
 .header on
select * from test order by id asc;


リスト2:test.batを保存
sqlite3.exe "test.db" < "test.sql" > "out.txt"


リスト3:実行例
C:\Users\username\Desktop>test.bat
... testテーブルから取得された情報が出力される ...

まず、リスト1に着目します。 .header on でselect実行時のヘッダカラムの表示をオンにするという設定を適用しています。
このように、SQLスクリプトには、表示オプションなどを記述できます。オプションは、sqlite3.exe を単体で実行し .help と打ち込むと確認できます。

リスト2では、sqlite3.exe の第一引数にDBファイルのパスを指定しています。標準入力のリダイレクトには、保存したスクリプトファイル(test.sql)を指定します。実行結果をファイルに出力する場合は標準出力のリダイレクトに出力ファイル(out.txt)を指定します。省略した場合は、結果がコンソールにそのまま表示されます。

リスト3は実行例です。実行すると、記述されたSQLが実行されます。SQLにはSelectでも良いですし、更新系のInsert・DDLを実行しても良いでしょう。


まとめ

以下のとおりです。
sqlite3.exe [SQLite DBファイルパス] < [SQLスクリプトファイルパス] > [実行結果の出力先ファイルパス]

関連記事

このエントリーをはてなブックマークに追加

コメント

コメントの投稿

非公開コメント

プロフィール

EZOLABブログへようこそ。
EZOLABは、札幌のソフトウェア会社です。

http://ezolab.co.jp

ezolab