MySql官方手冊進修筆記1 MySql簡略上手。本站提示廣大學習愛好者:(MySql官方手冊進修筆記1 MySql簡略上手)文章只能為提供參考,不一定能成為您想要的結果。以下是MySql官方手冊進修筆記1 MySql簡略上手正文
銜接與斷開辦事器
銜接辦事器平日須要供給一個MySQL用戶名而且極可能須要一個 暗碼。假如辦事器運轉在登錄辦事器以外的其它機械上,還須要指定主機名:shell> mysql -h host -u user -p
Enter password: ********
host代表MySQL辦事器運轉的主機名,user代表MySQL賬戶用戶名,******** 代表你的暗碼。
假如有用,你應當看見mysql>提醒符後的一些引見信息:
shell> mysql -h host -u user -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 25338 to server version: 5.1.2-alpha-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
mysql> 提醒符告知你mysql預備為你輸出敕令。
一些MySQL裝置許可用戶以匿名(未定名)用戶銜接到當地主機上運轉的辦事器。假如你的機械是這類情形,你應當能不帶任何選項地挪用mysql與該辦事器銜接:
shell> mysql
勝利地銜接後,可以在mysql>提醒下輸出QUIT (或\q)隨時加入:
mysql> QUIT
Bye
在Unix中,也能夠按control-D鍵斷開辦事器。
上面是一個簡略的敕令,請求辦事器告知它的版本號和以後日期。在mysql>提醒輸出以下敕令並按回車鍵:
mysql> SELECT VERSION(), CURRENT_DATE;//一個敕令平日由SQL語句構成,隨後隨著一個分號。
+-----------------+--------------+
| VERSION() | CURRENT_DATE |
+-----------------+--------------+
| 5.1.2-alpha-log | 2005-10-11 |
+-----------------+--------------+
1 row in set (0.01 sec)
mysql>
別的,mysql可以或許以年夜小寫輸出症結詞。以下查詢是等價的:
mysql> SELECT VERSION(), CURRENT_DATE;
mysql> select version(), current_date;
mysql> SeLeCt vErSiOn(), current_DATE;
這是別的一個查詢,它解釋你能將mysql用作一個簡略的盤算器:
mysql> SELECT SIN(PI()/4), (4+1)*5;
+------------------+---------+
| SIN(PI()/4) | (4+1)*5 |
+------------------+---------+
| 0.70710678118655 | 25 |
+------------------+---------+
1 row in set (0.02 sec)
至此顯示的敕令是相當短的單行語句。你可以在一行上輸出多條語句,只須要以一個分號距離開各語句:
mysql> SELECT VERSION(); SELECT NOW();
+-----------------+
| VERSION() |
+-----------------+
| 5.1.2-alpha-log |
+-----------------+
1 row in set (0.00 sec)
+---------------------+
| NOW() |
+---------------------+
| 2005-10-11 15:15:00 |
+---------------------+
1 row in set (0.00 sec)
不用全在一個行內給出一個敕令,較龜齡令可以輸出到多個行中。mysql是經由過程尋覓終止分號來決議語句在哪兒停止的。(換句話說,mysql搜集輸出行但直到看見分號才履行。)
這裡是一個簡略的多行語句的例子:
mysql> SELECT
-> USER()
-> ,
-> CURRENT_DATE;
+---------------+--------------+
| USER() | CURRENT_DATE |
+---------------+--------------+
| jon@localhost | 2005-10-11 |
+---------------+--------------+
在這個例子中,在輸出多行查詢的第一行後,要留意提醒符從mysql>變成->,這恰是mysql指出它沒見到完全的語句而且正在期待殘剩的部門。提醒符是你的同伙,由於它供給有價值的反應,假如應用該反應,將老是曉得mysql正在期待甚麼。
假如你決議不想履行正在輸出進程中的一個敕令,輸出\c撤消它:
mysql> SELECT
-> USER()
-> \c
mysql>
這裡也要留意提醒符,在你輸出\c今後,它切換回到mysql>,供給反應以注解mysql預備接收一個新敕令。
下表顯示出可以看見的各個提醒符並簡述它們所表現的mysql的狀況:
提醒符
寄義
mysql>
預備好接收新敕令。
->
期待多行敕令的下一行。
'>
期待下一行,期待以單引號(“'”)開端的字符串的停止。
">
期待下一行,期待以雙引號(“"”)開端的字符串的停止。
`>
期待下一行,期待以反斜點(‘`')開端的辨認符的停止。
/*>
期待下一行,期待以/*開端的正文的停止。
在字符串搜集時代將湧現 '> 和 "> 提醒符(提醒MySQL正期待字符串的停止)。在MySQL中,可以寫由‘''或‘"'字符括起來的字符串 (例如,'hello'或"goodbye"),而且mysql許可輸出逾越多行的字符串。當看到一個 '> 或 "> 提醒符時,這意味著曾經輸出了包括以‘''或‘"'括號字符開端的字符串的一行,然則還沒有輸出終止字符串的婚配引號。這顯示你大意地免卻了一個引號字符。例如:
mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;
'>
假如你輸出SELECT語句,然後按Enter(回車)鍵並期待成果,甚麼都沒有湧現。不要驚奇,“為何該查詢這麼長呢?”,留意">提醒符供給的線索。它告知你mysql希冀見到一個未終止字符串的余下部門。(你看見語句中的毛病嗎?字符串"Smith丟失落了第二個引號。)
走到這一步,你該做甚麼?最簡略的是撤消敕令。但是,在這類情形下,你不克不及只是輸出\c,由於mysql作為它正在搜集的字符串的一部門來說明它!相反,應輸出封閉的引號字符(如許mysql曉得你完成了字符串),然後輸出\c:
mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;
'> '\c
mysql>
提醒符回到mysql>,顯示mysql預備好接收一個新敕令了。
`> 提醒符相似於 '> 和"> 提醒符,但表現你曾經開端但沒有停止以`> 開端的辨認符。
曉得'>和">提醒符的寄義很主要,由於假如你毛病地輸出一個未終止的字符串,任何前面輸出的即將要被mysql疏忽--包含包括QUIT的行!這能夠使人相當迷惑,特殊是假如撤消以後敕令前還不曉得你須要供給終止引號。