mysql client命令行選項


mysql命令行中指定程序選項的規則

  • 在命令名后面緊跟選項。
  • 選項參量以一個和兩個破折號開始,取決於它具有短名還是長名。例如,-?--help是指導MySQL程序顯示幫助消息的短選項和長選項。
  • 選項名對大小寫敏感。-v-V均有效,但具有不同的含義。(它們是--verbose--version選項的短名)
  • 部分選項在選項名后面緊隨選項值。例如,-hlocalhost--host=localhost表示客戶程序的MySQL服務器主機。選項值可以告訴程序MySQL服務器運行的主機名。
  • 對於帶選項值的長選項,通過一個‘=’將選項名和值隔離開來。對於帶選項值的短選項,選項值可以緊隨選項字母后面,或者二者之間可以用一個空格隔開。(-hlocalhost-h localhost是等效的)

最后的規則的例外情況是指定MySQL密碼的選項。該選項的形式可以為--password=pass_val--password。在后一種情況(未給出 密碼值),程序將提示輸入密碼。也可以給出密碼選項,短形式為-ppass_val-p。然而,對於短形式,如果給出了 密碼值,必須緊跟在選項后面,中間不能插入空格。這樣要求的原因是如果選項后面有空格,程序沒有辦法來告知后面的參量是 密碼值還是其它某種參量。因此,下面兩個命令的含義完全不同:

shell> mysql -ptest
shell> mysql -p test

第一個命令讓mysql使用密碼test,但沒有指定默認數據庫。第二個命令讓mysql提示輸入 密碼並使用test作為默認數據庫。

 

連接和斷開服務器

shell> mysql -h host -u user -p
Enter password: ********

host和user分別代表MySQL服務器運行的主機名和MySQL賬戶用戶名。設置時替換為正確的值。******** 代表你的密碼;當mysql顯示Enter password:提示時輸入它。

 

成功地連接后,可以在mysql>提示下輸入QUIT (或\q)隨時退出:

mysql> QUIT
Bye

在Unix中,也可以按control-D鍵斷開服務器。

 

 

mysql的-e或--execute選項

mysql偶爾有用的另一個選項是-e--execute選項,可用來將SQL語句傳遞給服務器。該語句必須用引號引起來(單引號或雙引號)(然而,如果想要在查詢中將值引起來,則對於查詢應使用雙引號,查詢中引用的值應使用單引號)

當使用該選項時,語句被執行,然后mysql立即退出命令外殼。

例如,你可以用下面的命令獲得用戶賬戶列表:

shell> mysql -u root -p -e "SELECT User, Host FROM User" mysql
Enter password: ******
+------+-----------+
| User | Host      |
+------+-----------+
|      | gigan     |
| root | gigan     |
|      | localhost |
| jon  | localhost |
| root | localhost |
+------+-----------+
shell>

請注意mysql數據庫名作為一個獨立的參量傳遞。然而,相同的查詢可能已經使用mysql -u root -p -e "SELECT UserHost FROM mysql.User"從外殼中執行。

 

傳遞多個SQL語句,用分號隔開:

shell> mysql -u root -p --execute="SELECT Name FROM Country WHERE Name LIKE 'AU%';SELECT COUNT(*) FROM City" world
Enter password: ******
+-----------+
| Name      |
+-----------+
| Australia |
| Austria   |
+-----------+
+----------+
| COUNT(*) |
+----------+
|     4079 |
+----------+

請注意長形式(--execute)后面必須緊跟一個等號(=)

 

禁用mysql自動連接

如果mysql客戶程序發送查詢時斷開與服務器的連接,它立即並自動嘗試重新連接服務器並再次發送查詢。然而,即使mysql重新連接成功,你的第1個連接也已經結束,並且以前的會話對象和設定值被丟失:包括臨時表、自動提交模式,以及用戶和會話變量。該行為很危險.

如果有必要在連接斷開時終止mysql並提示錯誤,你可以用--skip-reconnect選項啟動mysql客戶程序。

 

從文本文件執行SQL語句

要想實現,創建一個文本文件text_file,並包含你想要執行的語句。然后按如下所示調用mysql

shell> mysql db_name < text_file

還可以用一個USE db_name語句啟動文本文件。在這種情況下,不需要在命令行中指定數據庫名:

shell> mysql < text_file

如果正運行mysql,可以使用source\.命令執行SQL腳本文件:

mysql> source filename
mysql> \. filename

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM