在批處理模式下使用mysql

2021-07-31 15:09:50 字數 1356 閱讀 2118

在批處理模式下使用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...