MySql官方手冊學(xué)習(xí)筆記1 MySql簡單上手
連接與斷開服務(wù)器
連接服務(wù)器通常需要提供一個MySQL用戶名并且很可能需要一個 密碼。如果服務(wù)器運(yùn)行在登錄服務(wù)器之外的其它機(jī)器上,還需要指定主機(jī)名:shell> mysql -h host -u user -p
Enter password: ********
host代表MySQL服務(wù)器運(yùn)行的主機(jī)名,user代表MySQL賬戶用戶名,******** 代表你的密碼。
如果有效,你應(yīng)該看見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準(zhǔn)備為你輸入命令。
一些MySQL安裝允許用戶以匿名(未命名)用戶連接到本地主機(jī)上運(yùn)行的服務(wù)器。如果你的機(jī)器是這種情況,你應(yīng)該能不帶任何選項地調(diào)用mysql與該服務(wù)器連接:
shell> mysql
成功地連接后,可以在mysql>提示下輸入QUIT (或\q)隨時退出:
mysql> QUIT
Bye
在Unix中,也可以按control-D鍵斷開服務(wù)器。
簡單熟悉一下
下面是一個簡單的命令,要求服務(wù)器告訴它的版本號和當(dāng)前日期。在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能夠以大小寫輸入關(guān)鍵詞。下列查詢是等價的:
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)
至此顯示的命令是相當(dāng)短的單行語句。你可以在一行上輸入多條語句,只需要以一個分號間隔開各語句:
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)
不必全在一個行內(nèi)給出一個命令,較長命令可以輸入到多個行中。mysql是通過尋找終止分號來決定語句在哪兒結(jié)束的。(換句話說,mysql收集輸入行但直到看見分號才執(zhí)行。)
這里是一個簡單的多行語句的例子:
mysql> SELECT
-> USER()
-> ,
-> CURRENT_DATE;
+---------------+--------------+
| USER() | CURRENT_DATE |
+---------------+--------------+
| jon@localhost | 2005-10-11 |
+---------------+--------------+
在這個例子中,在輸入多行查詢的第一行后,要注意提示符從mysql>變?yōu)?SPAN>->,這正是mysql指出它沒見到完整的語句并且正在等待剩余的部分。提示符是你的朋友,因為它提供有價值的反饋,如果使用該反饋,將總是知道mysql正在等待什么。
如果你決定不想執(zhí)行正在輸入過程中的一個命令,輸入\c取消它:
mysql> SELECT
-> USER()
-> \c
mysql>
這里也要注意提示符,在你輸入\c以后,它切換回到mysql>,提供反饋以表明mysql準(zhǔn)備接受一個新命令。
下表顯示出可以看見的各個提示符并簡述它們所表示的mysql的狀態(tài):
提示符 |
含義 |
mysql> |
準(zhǔn)備好接受新命令。 |
-> |
等待多行命令的下一行。 |
'> |
等待下一行,等待以單引號(“'”)開始的字符串的結(jié)束。 |
"> |
等待下一行,等待以雙引號(“"”)開始的字符串的結(jié)束。 |
`> |
等待下一行,等待以反斜點(diǎn)(‘`')開始的識別符的結(jié)束。 |
/*> |
等待下一行,等待以/*開始的注釋的結(jié)束。 |
在字符串收集期間將出現(xiàn) '> 和 "> 提示符(提示MySQL正等待字符串的結(jié)束)。在MySQL中,可以寫由‘''或‘"'字符括起來的字符串 (例如,'hello'或"goodbye"),并且mysql允許輸入跨越多行的字符串。當(dāng)看到一個 '> 或 "> 提示符時,這意味著已經(jīng)輸入了包含以‘''或‘"'括號字符開始的字符串的一行,但是還沒有輸入終止字符串的匹配引號。這顯示你粗心地省掉了一個引號字符。例如:
mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;
'>
如果你輸入SELECT語句,然后按Enter(回車)鍵并等待結(jié)果,什么都沒有出現(xiàn)。不要驚訝,“為什么該查詢這么長呢?”,注意">提示符提供的線索。它告訴你mysql期望見到一個未終止字符串的余下部分。(你看見語句中的錯誤嗎?字符串"Smith丟掉了第二個引號。)
走到這一步,你該做什么?最簡單的是取消命令。然而,在這種情況下,你不能只是輸入\c,因為mysql作為它正在收集的字符串的一部分來解釋它!相反,應(yīng)輸入關(guān)閉的引號字符(這樣mysql知道你完成了字符串),然后輸入\c:
mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;
'> '\c
mysql>
提示符回到mysql>,顯示mysql準(zhǔn)備好接受一個新命令了。
`> 提示符類似于 '> 和"> 提示符,但表示你已經(jīng)開始但沒有結(jié)束以`> 開始的識別符。
知道'>和">提示符的含義很重要,因為如果你錯誤地輸入一個未終止的字符串,任何后面輸入的行將要被mysql忽略--包括包含QUIT的行!這可能令人相當(dāng)困惑,特別是如果取消當(dāng)前命令前還不知道你需要提供終止引號。
- Mysql存儲過程學(xué)習(xí)筆記--建立簡單的存儲過程
- MySQL定時器EVENT學(xué)習(xí)筆記
- MySQL學(xué)習(xí)筆記5:修改表(alter table)
- MySQL學(xué)習(xí)筆記4:完整性約束限制字段
- MySQL學(xué)習(xí)筆記3:表的基本操作介紹
- MySQL學(xué)習(xí)筆記2:數(shù)據(jù)庫的基本操作(創(chuàng)建刪除查看)
- MySQL學(xué)習(xí)筆記1:安裝和登錄(多種方法)
- MySql官方手冊學(xué)習(xí)筆記2 MySql的模糊查詢和正則表達(dá)式
- Mysql源碼學(xué)習(xí)筆記 偷窺線程
- MYSQL的select 學(xué)習(xí)筆記
- 一千行的MySQL學(xué)習(xí)筆記匯總
相關(guān)文章
MySQL里實(shí)現(xiàn)類似SPLIT的分割字符串的函數(shù)
SQL對字符串的處理能力比較弱,比如我要循環(huán)遍歷象1,2,3,4,5這樣的字符串,如果用數(shù)組的話,遍歷很簡單,但是T-SQL不支持?jǐn)?shù)組,所以處理下來比較麻煩2012-09-09MySQL實(shí)戰(zhàn)窗口函數(shù)SQL分析班級學(xué)生考試成績及生活消費(fèi)
這篇文章主要為大家介紹了MySQL實(shí)戰(zhàn),利用窗口函數(shù)SQL來分析班級學(xué)生的考試成績及生活消費(fèi)的示例過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10MySql中having字句對組記錄進(jìn)行篩選使用說明
having字句可以讓我們篩選成組后的各種數(shù)據(jù)2012-12-12mysql簡單實(shí)現(xiàn)查詢結(jié)果添加序列號的方法
這篇文章主要介紹了mysql簡單實(shí)現(xiàn)查詢結(jié)果添加序列號的方法,結(jié)合實(shí)例形式演示了2種查詢結(jié)果添加序列號的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2016-06-06如何實(shí)現(xiàn)mysql的遠(yuǎn)程連接
這篇文章詳細(xì)介紹了mysql如何實(shí)現(xiàn)遠(yuǎn)程連接,文中有詳細(xì)的代碼實(shí)例講解,有一定的參考價值,需要的朋友可以參考閱讀2023-04-04MySQL遞歸查詢樹狀表的子節(jié)點(diǎn)、父節(jié)點(diǎn)具體實(shí)現(xiàn)
本程序?qū)懥藘蓚€sql存儲過程,子節(jié)點(diǎn)查詢算是照搬了,父節(jié)點(diǎn)查詢是逆思維弄的2014-03-03