在批處理模式下使用mysql(
在前面的章節中,你互動式地使用mysql,輸入查詢並且檢視結果。你也可以以批模式執行mysql。為了做到這些,把你想要執行的命令放在乙個檔案中,然後告訴mysql從檔案讀取它的輸入:
shell> mysql < batch-file
如果在windows下執行mysql,並且在檔案中有一些可以造成問題的特殊字元,可以這樣操作:
c:\> mysql -e "source batch-file"
如果你需要在命令列上指定連線引數,命令應為:
shell> mysql -h host -u user -p < batch-file
enter password: ********
當這樣操作mysql時,則建立乙個指令碼檔案,然後執行指令碼。
如果你想在語句出現錯誤的時候仍想繼續執行指令碼,則應使用--force命令列選項。
為什麼要使用乙個指令碼?有很多原因:
* 如果你需要重複執行查詢(比如說,每天或每週),可以把它編成乙個指令碼,則每次執行時不必重新鍵入。
* 當你正在開發查詢時,批模式也是很有用的,特別對多行命令或多語句命令序列。如果你犯了乙個錯誤,你不必重新輸入所有內容,只需要編輯指令碼來改正錯誤,然後告訴mysql再次執行指令碼。
shell> mysql < batch-file | more
* 你可以捕捉檔案中的輸出以便進行進一步的處理:
shell> mysql < batch-file > mysql.out
* 你可以將指令碼分發給另外的人,以便他們也能執行命令。
* 某些情況不允許互動地使用,例如, 當你從乙個cron任務中執行查詢時。在這種情況下,你必須使用批模式。
當你以批模式執行mysql時,比起你互動地使用它時,其預設輸出格式是不同的(更簡明些)。例如,當互動式執行select distinct species from pet時,輸出應為:
+---------+
| species |
+---------+
| bird
|| cat
|| dog
|| hamster |
| snake
|+---------+
但是當以批模式執行時,輸出應為:
species
bird
catdog
hamster
snake
如果你想要在批模式中得到互動輸出格式,使用mysql -t。為了回顯以輸出被執行的命令,使用mysql -vvv。
你還可以使用源**或 \.命令從mysql提示符執行指令碼:
mysql> source filename;
mysql> \. filename
3 5在批處理模式下使用mysql
在前面的部分中,您以 互動方式 使用mysql 輸入語句並檢視結果。您也可以 以批處理模式 執行mysql 為此,將要執行的語句放在檔案中,然後告訴 mysql 從檔案中讀取其輸入 如果您在windows下 執行mysql 並在檔案中包含一些導致問題的特殊字元,則可以執行以下操作 如果需要在命令列上...
在windows下使用批處理啟動停止服務
現在系統上執行的軟體和服務是越來越多,但是記憶體是有限的,這就導致了計算機的速度越來越慢。作為開發者,都清楚的知道很多服務的執行是需要占用大量資源的,而且大部分服務都是預設開機啟動,空閒的時候執行很浪費,每次都要去控制面板下停止服務,很繁瑣,因為我就想到在windows下用批處理解決服務的啟動和停止...
mysql 批處理啟動 MySQL開啟批處理
mysql預設關閉批處理 開啟方法 在原始的url尾部新增開啟指令,如下標註語句 url jdbc mysql localhost 3306 mydb3 rewritebatchedstatements true 新增批處理 呼叫preparedstatement中的addbatch 方法,將一句s...