MySQL培訓(xùn)課程:MySQL client命令行選項
最新學(xué)訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯(lián)系在線老師,甲骨文官方認證,報名從速!
我要咨詢mysql命令行中指定程序選項的規(guī)則
在命令名后面緊跟選項。
選項參量以一個和兩個破折號開始,取決于它具有短名還是長名。例如,-?和--help是指導(dǎo)MySQL程序顯示幫助消息的短選項和長選項。
選項名對大小寫敏感。-v和-V均有效,但具有不同的含義。(它們是--verbose和--version選項的短名)。
部分選項在選項名后面緊隨選項值。例如,-hlocalhost或--host=localhost表示客戶程序的MySQL服務(wù)器主機。選項值可以告訴程序MySQL服務(wù)器運行的主機名。
對于帶選項值的長選項,通過一個‘=’將選項名和值隔離開來。對于帶選項值的短選項,選項值可以緊隨選項字母后面,或者二者之間可以用一個空格隔開。(-hlocalhost和-h localhost是等效的)。
最后的規(guī)則的例外情況是指定MySQL密碼的選項。該選項的形式可以為--password=pass_val或--password。在后一種情況(未給出 密碼值),程序?qū)⑻崾据斎朊艽a。也可以給出密碼選項,短形式為-ppass_val或-p。然而,對于短形式,如果給出了 密碼值,必須緊跟在選項后面,中間不能插入空格。這樣要求的原因是如果選項后面有空格,程序沒有辦法來告知后面的參量是 密碼值還是其它某種參量。因此,下面兩個命令的含義完全不同:
shell> mysql -ptest
shell> mysql -p test
第一個命令讓mysql使用密碼test,但沒有指定默認數(shù)據(jù)庫。第二個命令讓mysql提示輸入 密碼并使用test作為默認數(shù)據(jù)庫。
連接和斷開服務(wù)器
shell> mysql -h host -u user -p
Enter password: ********
host和user分別代表MySQL服務(wù)器運行的主機名和MySQL賬戶用戶名。設(shè)置時替換為正確的值。******** 代表你的密碼;當(dāng)mysql顯示Enter password:提示時輸入它。
成功地連接后,可以在mysql>提示下輸入QUIT (或\q)隨時退出:
mysql> QUIT
Bye
在Unix中,也可以按control-D鍵斷開服務(wù)器。
mysql的-e或--execute選項
對mysql偶爾有用的另一個選項是-e或--execute選項,可用來將SQL語句傳遞給服務(wù)器。該語句必須用引號引起來(單引號或雙引號)。(然而,如果想要在查詢中將值引起來,則對于查詢應(yīng)使用雙引號,查詢中引用的值應(yīng)使用單引號)。
當(dāng)使用該選項時,語句被執(zhí)行,然后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數(shù)據(jù)庫名作為一個獨立的參量傳遞。然而,相同的查詢可能已經(jīng)使用mysql -u root -p -e "SELECT User,Host FROM mysql.User"從外殼中執(zhí)行。
傳遞多個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客戶程序發(fā)送查詢時斷開與服務(wù)器的連接,它立即并自動嘗試重新連接服務(wù)器并再次發(fā)送查詢。然而,即使mysql重新連接成功,你的第1個連接也已經(jīng)結(jié)束,并且以前的會話對象和設(shè)定值被丟失:包括臨時表、自動提交模式,以及用戶和會話變量。該行為很危險.
如果有必要在連接斷開時終止mysql并提示錯誤,你可以用--skip-reconnect選項啟動mysql客戶程序。
從文本文件執(zhí)行SQL語句
要想實現(xiàn),創(chuàng)建一個文本文件text_file,并包含你想要執(zhí)行的語句。然后按如下所示調(diào)用mysql:
shell> mysql db_name < text_file
還可以用一個USE db_name語句啟動文本文件。在這種情況下,不需要在命令行中指定數(shù)據(jù)庫名:
shell> mysql < text_file
如果正運行mysql,可以使用source或\.命令執(zhí)行SQL腳本文件:
mysql> source filename
mysql> \. filename
- 陳衛(wèi)星-老師CUUG金牌講師
- 陳老師 CUUG金牌講師 精通Oracle管理、備份恢復(fù)、性能優(yōu)化 11年Ora...[詳細了解老師]
