MySQLに接続する例
connect.bat
@echo off
REM MySQLSQLのbinディレクトリ
set MYSQLPATH=C:\Program Files\MySQL\MySQL Server 8.0\bin\
REM 接続情報
set PASS=abc123
set DB_NAME=house_work
set USER_ID=root
set DB_NAME=house_work
set OPTION=--default-character-set=utf8
REM スクリプト実行
"%MYSQLPATH%mysql.exe" %OPTION% %DB_NAME% -u %USER_ID% -p%PASS% -D %DB_NAME%
指定したSQLファイルを実行する例(DB:MySQL)
insertShoppingSample.bat
@echo off
REM MySQLSQLのbinディレクトリ
set MYSQLPATH=C:\Program Files\MySQL\MySQL Server 8.0\bin\
REM 接続先情報
set DB_NAME=house_work
set PASS=abc123
set USER_ID=root
set OPTION=--default-character-set=utf8
REM スクリプト実行
"%MYSQLPATH%mysql.exe" %OPTION% %DB_NAME% -u %USER_ID% -p%PASS%< insertShoppingSample.sql
insertShoppingSample.sql
insert into shopping(item_name)values('牛肉')
項目 | 説明 | 注意点 |
---|---|---|
@echo off | コマンドの画面表示を消す→コマンドの結果だけを表示する | |
set 変数名 | 変数の定義 | ダブルクウォート不要。 例のようにディレクトリを代入する際は、直後にスペースが入るとうまく動作しないので注意。 |
%変数名% | 変数の使用 | |
REM | コメント | |
-P%PASS% | MySQLパスワードオプション | -Pと%PASS%の間にスペースが入るとうまく動作しないので注意 |
ファイル名を入力させてSQLを実行する例
exeSQL.bat
@echo off
REM MySQLSQLのbinディレクトリ
set MYSQLPATH=C:\Program Files\MySQL\MySQL Server 8.0\bin\
REM 接続先情報
set DB_NAME=house_work
set PASS=abc123
set USER_ID=root
set OPTION=--default-character-set=utf8
set USR_INPUT_SQL=
set /P USR_INPUT_SQL="SQLファイルを入力してください: "
REM スクリプト実行
"%MYSQLPATH%mysql.exe" %OPTION% %DB_NAME% -u %USER_ID% -p%PASS%< %USR_INPUT_SQL%
cmd/k
項目 | 説明 | 注意点 |
---|---|---|
set /p | [入力情報を入れたい変数]="[コマンド実行時に表示するメッセージ]" | |
https://jj-blues.com/cms/command-set/ |
ドラッグアンドドロップしたsqlファイルを実行する例
@echo off
if "%~1" =="" (
echo 引数が指定されていません。
pause
exit
)
if %~x1 neq .sql (
echo %~x1
echo sqlファイルを引数にしてください。
pause
exit
)
REM MySQLSQLのbinディレクトリ
set MYSQLPATH=C:\Program Files\MySQL\MySQL Server 8.0\bin\
REM 接続先情報
set DB_NAME=house_work
set PASS=abc123
set USER_ID=root
set OPTION=--default-character-set=utf8
set USR_INPUT_SQL=%~nx1
REM スクリプト実行
"%MYSQLPATH%mysql.exe" %OPTION% %DB_NAME% -u %USER_ID% -p%PASS%< %USR_INPUT_SQL%
cmd/k