windows下bat批處理執行Mysql的sql語句

有時候我們需要用bat來定時執行mysql那麼就可以參考下面的代碼

 直接上代碼:

@ECHO OFF 

SET dbhost=主機名(例如:127.0.0.1)
SET dbuser=用戶名(例如:root)
SET dbpasswd=用戶密碼(例如:root)
SET dbName=數據庫名稱(例如:test)
SET sqlpath=%~dp0(此語句可以保證.bat同級目錄下的.sql文件能被找到)
set sqlfile=update.sql(需要執行執行sql的文件)

進入mysql安裝路徑的bin目錄下,如果配置瞭環境變量則不需要此語句

(例如:cd /d C:\Program Files\MySQL\MySQL Server 5.5\bin)

::執行SQL腳本

mysql -h%dbhost% -u%dbuser% -p%dbpasswd% < %sqlpath%%sqlfile% --default-character-set=utf8

ECHO 完成!
PAUSE

@ECHO Done! 

windows下執行sql文件-批量執行sql語句

新建一個txt文件,裡面內容如下,改為.cmd文件,點擊運行即可:

rem MySQL_HOME 本地MySQL的安裝路徑
rem host mysql 服務器的ip地址,可以是本地,也可以是遠程
rem port mysql 服務器的端口,缺省為3306
rem user password 具有操作數據庫權限的用戶名和密碼,如root
rem default-character-set 數據庫所用的字符集
rem database 要連接的數據名,這裡用的test
rem test.sql 要執行的腳本文件,這裡為test.sql
rem mysql 後面的應該放在一行。
set MySQL_HOME=C:\mysql-4.1.10-win32
set PATH=%MySQL_HOME%\bin;%PATH%

mysql --host=192.168.0.66 --port=3306 --user=root --password=123 --default-character-set=utf8 test<test.sql

例如:

Windows下批處理執行MySQL腳本文件

一、

@echo off
Setlocal enabledelayedexpansion
::CODER BY Mark_Li POWERD BY iBAT 1.6
cd "C:\Program Files\MySQL\MySQL Server 5.5\bin"
:: 數據庫名稱
@set db=hrms
:: 用戶名
@set userName=root
:: 密碼
@set password=
:: 要執行的sql腳本
@set sqlpath="C:\Program Files\MySQL\MySQL Server 5.5\test_hrms.sql"
:: 連接MySQL數據庫並執行sql腳本 -f 腳本執行過程中,出現錯誤繼續執行 --default-character-set指定導入數據的編碼(與數據庫編碼相同)
mysql -f -u %userName% --password=%password% %db% < %sqlpath% --default-character-set=gbk
:: 執行完成後,不立刻關閉dos窗口

pause

二、設置超時命令

在my.ini文件下加入

wait_timeout=2880000
interactive_timeout = 2880000
max_allowed_packet = 100M

三、如果要執行多個SQL腳本

將test_hrms.sql替換為source “C:\Program Files\MySQL\MySQL Server 5.5\test_hrms.sql” “C:\Program Files\MySQL\MySQL Server 5.5\test_hrms2.sql”

“C:\Program Files\MySQL\MySQL Server 5.5\test_hrms3.sql”

到此這篇關於windows下bat批處理執行Mysql的sql語句的文章就介紹到這瞭,更多相關bat執行Mysql的sql內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: