国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL入門教程2 —— 輸入查詢及退出查詢命令

瀏覽:32日期:2023-10-17 14:10:31

確保你連接上了服務(wù)器,如在上一章節(jié)討論的。連接上服務(wù)器并不代表選擇了任何數(shù)據(jù)庫,但這樣就可以了。知道關(guān)于如何查詢的基本知識(shí),比馬上跳至創(chuàng)建表、給他們裝載數(shù)據(jù)并且從他們檢索數(shù)據(jù)更重要。本節(jié)描述輸入命令的基本原則,使用幾個(gè)查詢,你能嘗試了解mysql是如何工作的。

這是一個(gè)簡單的命令,要求服務(wù)器告訴它的版本號(hào)和當(dāng)前日期。在mysql>提示輸入如下命令并按回車鍵:

mysql> SELECT VERSION(), CURRENT_DATE; +-----------------+--------------+| VERSION() | CURRENT_DATE |+-----------------+--------------+| 5.1.2-alpha-log | 2005-10-11 |+-----------------+--------------+1 row in set (0.01 sec)mysql>

這詢問說明mysql的幾個(gè)方面:

· 一個(gè)命令通常由SQL語句組成,隨后跟著一個(gè)分號(hào)。(有一些例外不需要分號(hào)。早先提到的QUIT是一個(gè)例子。后面我們將看到其它的例子。)

· 當(dāng)發(fā)出一個(gè)命令時(shí),mysql將它發(fā)送給服務(wù)器并顯示執(zhí)行結(jié)果,然后顯示另一個(gè)mysql>顯示它準(zhǔn)備好接受其它命令。

· mysql用表格(行和列)方式顯示查詢輸出。第一行包含列的標(biāo)簽,隨后的行是查詢結(jié)果。通常,列標(biāo)簽是你取自數(shù)據(jù)庫表的列的名字。如果你正在檢索一個(gè)表達(dá)式而非表列的值(如剛才的例子),mysql用表達(dá)式本身標(biāo)記列。

· mysql顯示返回了多少行,以及查詢花了多長時(shí)間,它給你提供服務(wù)器性能的一個(gè)大致概念。因?yàn)樗麄儽硎緯r(shí)鐘時(shí)間(不是 CPU 或機(jī)器時(shí)間),并且因?yàn)樗麄兪艿街T如服務(wù)器負(fù)載和網(wǎng)絡(luò)延時(shí)的影響,因此這些值是不精確的。(為了簡潔,在本章其它例子中不再顯示“集合中的行”。)

能夠以大小寫輸入關(guān)鍵詞(大小寫不敏感)。下列查詢是等價(jià)的:

mysql> SELECT VERSION(), CURRENT_DATE; mysql> select version(), current_date; mysql> SeLeCt vErSiOn(), current_DATE; 這是另外一個(gè)查詢,它說明你能將mysql用作一個(gè)簡單的計(jì)算器:mysql> SELECT SIN(PI()/4), (4+1)*5; +------------------+---------+| SIN(PI()/4) | (4+1)*5 |+------------------+---------+| 0.70710678118655 | 25 |+------------------+---------+

1 row in set (0.02 sec)

至此顯示的命令是相當(dāng)短的單行語句。你可以在一行上輸入多條語句,只需要以一個(gè)分號(hào)間隔開各語句:

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)

不必全在一個(gè)行內(nèi)給出一個(gè)命令,較長命令可以輸入到多個(gè)行中。mysql通過尋找終止分號(hào)而不是輸入行的結(jié)束來決定語句在哪兒結(jié)束。(換句話說,mysql接受自由格式的輸入:它收集輸入行但直到看見分號(hào)才執(zhí)行。)

這里是一個(gè)簡單的多行語句的例子:

mysql> SELECT -> USER() -> , -> CURRENT_DATE; +---------------+--------------+| USER()| CURRENT_DATE |+---------------+--------------+| jon@localhost | 2005-10-11 |+---------------+--------------+

在這個(gè)例子中,在輸入多行查詢的第一行后,要注意提示符如何從mysql>變?yōu)?>,這正是mysql如何指出它沒見到完整的語句并且正在等待剩余的部分。提示符是你的朋友,因?yàn)樗峁┯袃r(jià)值的反饋,如果使用該反饋,將總是知道m(xù)ysql正在等待什么。

如果你決定不想執(zhí)行正在輸入過程中的一個(gè)命令,輸入c取消它:

mysql> SELECT -> USER() -> c mysql>

這里也要注意提示符,在你輸入c以后,它切換回到mysql>,提供反饋以表明mysql準(zhǔn)備接受一個(gè)新命令。

下表顯示出可以看見的各個(gè)提示符并簡述它們所表示的mysql的狀態(tài):

提示符含義mysql>準(zhǔn)備好接受新命令。->等待多行命令的下一行。’>等待下一行,等待以單引號(hào)(“’”)開始的字符串的結(jié)束。'>等待下一行,等待以雙引號(hào)(“'”)開始的字符串的結(jié)束。`>等待下一行,等待以反斜點(diǎn)(‘`’)開始的識(shí)別符的結(jié)束。/*>等待下一行,等待以/*開始的注釋的結(jié)束。

當(dāng)你打算在一個(gè)單行上發(fā)出一個(gè)命令時(shí),通常會(huì)“偶然”出現(xiàn)多行語句,但是沒有終止分號(hào)。在這種情況中,mysql等待進(jìn)一步輸入:

mysql> SELECT USER() ->

如果出現(xiàn)這種情況(你認(rèn)為輸完了語句,但是只有一個(gè)->提示符響應(yīng)),很可能mysql正在等待分號(hào)。如果你沒有注意到提示符的提示,在意識(shí)到你需要做什么之前,你可能會(huì)呆坐一會(huì)兒。輸入一個(gè)分號(hào)完成語句,mysql將執(zhí)行:

mysql> SELECT USER() -> ; +---------------+| USER()|+---------------+| jon@localhost |+---------------+

在字符串收集期間將出現(xiàn) ’> 和 '> 提示符(提示MySQL正等待字符串的結(jié)束)。在MySQL中,可以寫由‘’’或‘'’字符括起來的字符串 (例如,’hello’或'goodbye'),并且mysql允許輸入跨越多行的字符串。當(dāng)看到一個(gè) ’> 或 '> 提示符時(shí),這意味著已經(jīng)輸入了包含以‘’’或‘'’括號(hào)字符開始的字符串的一行,但是還沒有輸入終止字符串的匹配引號(hào)。這顯示你粗心地省掉了一個(gè)引號(hào)字符。例如:

mysql> SELECT * FROM my_table WHERE name = ’Smith AND age < 30; ’>

如果你輸入SELECT語句,然后按Enter(回車)鍵并等待結(jié)果,什么都沒有出現(xiàn)。不要驚訝,“為什么該查詢這么長呢?”,注意'>提示符提供的線索。它告訴你mysql期望見到一個(gè)未終止字符串的余下部分。(你看見語句中的錯(cuò)誤嗎?字符串'Smith丟掉了第二個(gè)引號(hào)。)

走到這一步,你該做什么?最簡單的是取消命令。然而,在這種情況下,你不能只是輸入c,因?yàn)閙ysql作為它正在收集的字符串的一部分來解釋它!相反,應(yīng)輸入關(guān)閉的引號(hào)字符(這樣mysql知道你完成了字符串),然后輸入c:

mysql> SELECT * FROM my_table WHERE name = ’Smith AND age < 30; ’> ’c mysql>

提示符回到mysql>,顯示mysql準(zhǔn)備好接受一個(gè)新命令了。

`> 提示符類似于 ’> 和'> 提示符,但表示你已經(jīng)開始但沒有結(jié)束以`> 開始的識(shí)別符。

知道’>和'>提示符的含義很重要,因?yàn)槿绻沐e(cuò)誤地輸入一個(gè)未終止的字符串,任何后面輸入的行將要被mysql忽略--包括包含QUIT的行!這可能令人相當(dāng)困惑,特別是如果取消當(dāng)前命令前還不知道你需要提供終止引號(hào)。

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 周至县| 五寨县| 鄂州市| 观塘区| 昆明市| 建湖县| 大安市| 濮阳市| 青川县| 大悟县| 阿合奇县| 聂荣县| 菏泽市| 汾阳市| 伊金霍洛旗| 陇南市| 绥滨县| 澄城县| 大理市| 东源县| 大宁县| 永泰县| 静宁县| 新巴尔虎左旗| 海伦市| 静安区| 彭州市| 临夏市| 东平县| 静安区| 绩溪县| 页游| 松潘县| SHOW| 永康市| 北京市| 重庆市| 积石山| 湖州市| 广宗县| 白银市|