【バッチファイル】SELECT文を実行する【SQLite】

バッチファイルから
 ・SQLiteへSELECT文を実行
できます!

PR

前提

・SQLiteがインストールされていること。
・SQLiteコマンドラインツールがダウンロード済みであること。

SQLiteコマンドラインツールは以下でダウンロードできます。
※「sqlite-tools-win32-x86-3410200.zip」をダウンロードして展開してください。

PR

コード

ここでは例として、
 ・デスクトップ上のSQLiteファイル「sampleDB.db」の
 ・テーブル「employee」へSELECT文を実行して
 ・取得したデータを画面出力
します。
※今回は1レコード分のみ取得します。
※テーブル「employee」の列「id」が「00001」のレコードを取得します。

SQLite上のテーブル「employee」のデータ
SQLite上のテーブル「employee」のデータ
@echo off

REM SQLiteコマンドラインツール
set cmdTool=C:\sqlite-tools-win32-x86-3410200\sqlite3.exe
REM DB名(SQLiteのファイル名)
set dbName=C:\Users\user\Desktop\sampleDB.db
REM SELECT文
set sql="SELECT id,name,sex,section FROM employee WHERE ID = '00001'"

REM 実行するコマンドを組み立て
set selectCmd=%cmdTool% %dbName% %sql%

REM 文字コードをUTF-8に変更
chcp 65001 > nul 

REM コマンドを実行し結果を変数へ格納
for /f "delims=| tokens=1-4" %%a in ('%selectCmd%') do (
	set id=%%a
	set name=%%b
	set sex=%%c
	set section=%%d
)

REM 文字コードをShift_JISに戻す
chcp 932 > nul 

REM 変数「name」の値を確認
echo id :%id%
echo 名前:%name%
echo 性別:%sex%
echo 部署:%section%
echo.

pause
exit

以下を設定します(4~8行目)。
※必要に応じて修正してください。

・SQLiteコマンドラインツール
・DB名(SQLiteのファイル名)
・SELECT文

文字化けしないようにするため文字コードを「UTF-8」に変更しています(14行目)。

forコマンドによりSELECT文を実行して結果を変数に格納します(17~22行目)。
※「delims」に”|“を指定することで、「|を区切り文字」にします。
※「tokens」に“1-4“を指定することで、「SELECT句に指定している1~4列目を取得」します。

文字コードを「Shift_JIS」に戻しています(25行目)。

PR

実行結果

SQLiteへSELECT文を実行できました。

実行結果
実行結果
PR

参考

上記で使用した以下の詳細は、公式サイトをご確認ください。

forコマンド

タイトルとURLをコピーしました