MySql官方手冊學習筆記1 MySql簡單上手

來源:互聯網
上載者:User

串連與斷開伺服器

串連伺服器通常需要提供一個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的行!這可能令人相當困惑,特別是如果取消當前命令前還不知道你需要提供終止引號。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.