方法1
若有SQL腳本a.sql, b.sql, 其目錄在f盤根目錄下, 則可再寫一個SQL腳本c.sql(假設其目錄也在f盤根目錄下, 也可以在其他路徑下)如下:
source f:/a.sql;
source f:/b.sql;
然后執行source f:/c.sql 即可.
方法2
方法1的不便之處在於, 要為每個腳本寫一句代碼, 若有成千上萬個, 這樣寫便不現實. 此時, 可用批處理來實現.
以執行f:\test\目錄下所有的SQL腳本為例, 其批處理代碼如下:
@echo off
for %%i in (f:\test*.sql) do (
echo excute %%i
mysql -uroot -p123456 < %%i
)
echo success
pause
其中: do后面的左括號要跟在do后, 若放在do的下一行, 則出會出現一閃而過的情況, 數據庫腳本有沒有執行沒有去查看.
若是當前目錄下, 可將”f:\test*.sql” 改為”.*.sql” 即可.
注意在SQL腳本中寫上 use db_name.
批處理命令備份mysql數據庫
本文轉自http://www.jb51.net/article/19296.htm
MySQL數據的備份工具也許有很多,在這我要給大家分享一下通過DOS批處理命令和MySQL、WinRAR命令來進行備份工作。
工作環境 Windows Server 2003 ,MySQL安裝目錄 D:\MySQL , WinRAR 安裝目錄 C:\Program Files\WinRAR\WinRAR.exe
備份數據存儲的路徑為 E:\數據備份,好了下面開始寫DOS批處理命令了。
復制代碼 代碼如下:
set “Ymd=�te:~,4%�te:~5,2%�te:~8,2%”
md “E:\數據備份\%ymd%”
“D:\MySQL\bin\mysqldump.exe” –opt -Q mysql -uroot -p123456789 > E:\數據備份\%Ymd%\mysql.sql
REM ….. 這里可以添加更多的命令,要看你有多少個數據庫,其中 -Q 后面是數據庫名稱 -p緊跟后面是密碼
echo Winrar loading…
“C:\Program Files\WinRAR\WinRAR.exe” a -ep1 -r -o+ -m5 -df “E:\數據備份\%Ymd%.rar” “E:\數據備份\%Ymd%”
echo OK!
把上面的命令保存為 backup.bat ,雙擊運行,就開始備份數據了。
第一句是建立一個變量 %Ymd% ,通過 �te% 這個系統變量得到日期,�te:~,4% 表示取日期的前面4個字符就是年份,%�te:~5,2% 表示取日期第5個字符開始的2個字符就是月份,�te:~8,2% 這個就是日期號數,如 2009-06-20 這個日期最后得到的結果是 20090620
第二句就是使用變量 %Ymd% 的值建立一個空的文件夾。
第三句開始就是使用MySQL的命令對數據庫mysql 進行備份,並存儲在 E:\數據備份\%ymd% 這個文件夾下面,這里可以有很多類似的命令,備份多個數據庫。
最后就是使用 WinRAR 對備份的數據進行壓縮,並存儲為以 %Ymd% 變量值建立的RAR文件名,同時刪除備份的 %Ymd% 目錄。
如果你想讓系統自動定期備份,就可以通過系統的任務計划定期執行這個命令。
批處理語法,bat語法
批處理就是把一批或者說是一條條命令放在一個文本里,然后批量執行!執行這
一批命令的文件的擴展名是BAT文件或者CMD,把任何一批命令放入在有這樣擴展名的文件里,執行時里面的命令就會一條條的執行完,當然
我們還可以在其中加入一些邏輯判斷的語句,讓里面的命令在滿足一定條件時執行指定的命令.
了解了大概意思后,我們正式開始學習.先看一個簡單的例子!
@echo off
echo “歡迎來到非常BAT!”
pause
把上面的3條命令保存為test.bat或者test.cmd然后執行,他就會在屏幕上顯示二行話:”歡迎來到非常BAT!請按任意鍵繼續…”
這就是一個簡單批處理文件了,我們來分析一下.
這個批處理文件一共就用了2條命令 “echo” 和”pause” 還有一個特殊符號”@”
@符號在批處理中的作用是關閉當前行命令的回顯,也就是不顯示執行的是什么命令,只顯示命令的結果!
你可以執行下面這個批處理文件來理解,保存為.bat或者.CMD
@echo 你好
echo 你好
@pause
echo命令的作用有兩個,一個是在CMD上回顯一行內容.如:echo “歡迎來到非常BAT!”,還一個是關閉命令的回顯:echo off
echo off的作用就相當於在每條命令前面加一個@符號,這樣所有的命令將只會顯示結果不顯示命令.
我們在echo off這命令前加一個@符號是為了不讓echo off這條命令本身顯示出來,讓批處理更完美!
pause命令就是暫停的意思,防止批處理執行完后直接退出!執行pause命令后會自動在CMD里顯示”請按任意鍵繼續…”這樣一行話!
從上面這個簡單的批處理中,我們可以發現其實批處理就是運用一些含有特殊意義的符號和一些完成指定功能的命令組合而成,那么
在批處理中有多少這樣的特殊符號和功能命令呢?我們現在就來仔細了解一下一些最常用的!
(以下內容來源網絡,請各位仔細閱讀,好進入下節的實例說明)
批處理的常見命令
REM
ECHO
GOTO
CALL
PAUSE
IF
還有(FOR,SETLOCAL,SHIFT)這幾個命令比較難,不適合寫在基礎篇,以后說明!
批處理定義:顧名思義,批處理文件是將一系列命令按一定的順序集合為一個可執行的文本文件,其擴展名為BAT。
這些命令統稱批處理命令。
介紹命令
1、REM (remark)
REM是個注釋命令,一般用來給程序加上注解,該命令后的內容在程序執行時,將不會被顯示和執行。
例:REM 這個命令就是注釋
這一句將不會被執行
2、ECHO
ECHO是一個回顯命令,主要參數有OFF和ON。一般用ECHO MESSAGE來顯示一個特定的消息。
例:
Echo off
Rem 以上代表關閉回顯(就是不顯示所執行的命令)
Echo 這個就是消息(message)
Rem 以上代表顯示“這就是消息(message)”這列字符
咱們來看看執行結果:
3、GOTO
GOTO會點編程的朋友就會知道這是跳轉的意思。
在批處理中允許以“:XXX”來構建一個標號,然后用GOTO XXX直接來執行標號后的命令。
例:
:lable
REM 上面就是名為LABEL的標號
DIR C:\
DIR D:\
GOTO lable
REM 以上程序跳轉標號LABEL處繼續執行
咱們來看看結果:
4、CALL
CALL命令可以在批處理執行過程中調用另一個批處理,當另一個批處理執行完后,再繼續執行原來的批處理
例:
創建一個2.BAT,內容如下
ECHO 這就是2的內容
創建一個1.BAT,內容如下
ECHO 這是1的內容
CALL 2.BAT
ECHO 1和2的內容全部顯示完成。
執行1.BAT,來看看結果:
5、PAUSE
PAUSE,玩游戲的人都知道,暫停的意思
在這里就是停止系統命令的執行並顯示下面的內容。
例:
PAUSE
6、IF
IF 條件判斷語句,語法格式如下:
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
解釋下:
[NOT]:將返回結果取反值,就是“如果沒有”的意思
ERRORLEVEL:
是命令執行完成后返回的退出值
Number:
退出值的數字取值范圍0~255,判斷時值的排列順序應該由大到小。返回的值大於等於指定的值時,條件成立
string1==string2:
string1和string2都為字符的數據,英文內字符的大小寫將看作不同,這個條件中的等於號必須是兩個(絕對相等的意思)
條件相等后即執行后面的command
EXIST filename:
為文件或目錄存在的意思
IF ERRORLEVEL這個句子必須放在某一個命令的后面,執行命令后由IF ERRORLEVEL 來判斷命令的返回值。
例:
(1)
IF [NOT] ERRORLEVEL number command
檢測命令執行完后的返回值做出判斷
echo off
dir z:
rem 如果退出代碼為1(不成功)就跳至標題1處執行
IF ERRORLEVEL 1 goto 1
REM 如果退出代碼為0(成功)就跳至標題0處執行
IF ERRORLEVEL 0 goto 0
:0
echo 命令執行成功!
Rem 程序執行完畢跳至標題exit處退出
goto exit
:1
echo 命令執行失敗!
Rem 程序執行完畢跳至標題exit處退出
goto exit
:exit
Rem 這里是程序的出口
(2)IF string1==string2 command
檢測當前變量的值做出判斷
ECHO OFF
IF 1==2 goto no
Echo 變量相等!
goto exit
:no
echo 變量不相等
goto exit
:exit
看看效果,敲擊這個命令1.bat 數字
(3)IF [NOT] EXIST filename command
發現特定的文件做出判斷
echo off
IF not EXIST autoexec.bat goto 1
echo 文件存在成功!
goto exit
:1
echo 文件不存在失敗!
goto exit
:exit
這個批處理大家可以放在C盤和D盤分別執行,看看效果
特殊符號:
1. @
2. >
3. >>
4. |
5. ^
6. &
7. &&
8. “”
9. ,
10. ;