在前面的部分中,你以交互方式使用mysql
輸入語句並查看結果,你也能夠在批處理模式下運行mysql
,爲此,將要運行的語句放在文件中,而後告訴mysql
從文件中讀取其輸入:mysql
shell> mysql < batch-file
若是你在Windows下運行mysql
並在文件中有一些致使問題的特殊字符,你能夠這樣作:sql
C:\> mysql -e "source batch-file"
若是須要在命令行上指定鏈接參數,則命令可能以下所示:shell
shell> mysql -h host -u user -p < batch-file Enter password: ********
當你以這種方式使用mysql
時,你將建立一個腳本文件,而後執行該腳本。數據庫
若是你但願腳本繼續運行,即便其中的某些語句產生錯誤,你應該使用--force
命令行選項。segmentfault
爲何要使用腳本?緣由以下:命令行
mysql
再次執行它。若是你有一個產生大量輸出的查詢,你能夠經過尋呼機運行輸出,而不是看着它從屏幕頂部滾動:code
shell> mysql < batch-file | more
你能夠捕獲輸出到文件中以進行進一步處理:ci
shell> mysql < batch-file > mysql.out
在批處理模式下運行mysql
時,默認輸出格式與交互使用時的默認輸出格式不一樣(更簡潔)。例如,當交互式運行mysql
時,SELECT DISTINCT species FROM pet
的輸出以下所示:開發
+---------+ | species | +---------+ | bird | | cat | | dog | | hamster | | snake | +---------+
在批處理模式下,輸出看起來像這樣:get
species bird cat dog hamster snake
若是要以批處理模式獲取交互式輸出格式,請使用mysql -t
,要回顯輸出執行的語句,請使用mysql -v
。
你還可使用source
命令或\.
命令從mysql
提示符中使用腳本:
mysql> source filename; mysql> \. filename