程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 3.5在批處理模式下使用mysql

3.5在批處理模式下使用mysql

編輯:MySQL綜合教程

3.5在批處理模式下使用mysql


在前面的章節中,你交互式地使用mysql輸入查詢並且查看結果。你也可以以批模式運行mysql。為了做到這些,把你想要運行的命令放在一個文件中,然後告訴mysql從文件讀取它的輸入:

shell> mysql < batch-file

如果你是在Windows系統下運行,並且你的文件中有一些可能會造成問題的特殊字符,你可以這麼做:

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
cat
dog
hamster
snake

如果你想得到交互式的輸出格式,使用 mysql -t. 為了回顯以輸出被執行的命令,使用mysql -vvv.

你還可以使用source命令或 .命令從mysql提示符中使用腳本:

mysql> source filename;
mysql> \. filename

更多內容請查看
Section 4.5.1.5, “Executing SQL Statements from a Text File”

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved