MySQL™ 參考手冊(在批處理模式下使用mysql)

在批處理模式下使用mysql

在前面的部分中,你以交互方式使用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
  • 你能夠將腳本分發給其餘人,以便他們也能夠運行語句。
  • 某些狀況不容許交互式使用,例如,當你從cron做業運行查詢時,在這種狀況下,你必須使用批處理模式。

在批處理模式下運行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

上一篇:獲取有關數據庫和表的信息

相關文章
相關標籤/搜索