1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

batファイル MySQL実行

Last updated at Posted at 2021-11-17

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

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?