MySQL數(shù)據(jù)庫入門寶典
上一篇文章我們主要教會(huì)大家的是正確創(chuàng)建一個(gè)MySQL數(shù)據(jù)庫與數(shù)據(jù)庫表的實(shí)際操作步驟,以及并知道如何正確的向數(shù)據(jù)庫表中添加相關(guān)的記錄。今天那么我們就像大家講講從數(shù)據(jù)庫表中檢索數(shù)據(jù)的實(shí)際操作步驟?
MySQL入門學(xué)習(xí)1、從數(shù)據(jù)庫表中檢索信息
實(shí)際上,前面我們已經(jīng)用到了SELECT語句,它用來從MySQL數(shù)據(jù)庫表中檢索信息。
select語句格式一般為:
SELECT 檢索關(guān)鍵詞 FROM 被檢索的表 WHERE 檢索條件(可選)
以前所使用的“ * ”表示選擇所有的列。
下面繼續(xù)使用我們?cè)谏掀恼轮袆?chuàng)建的表mytable:
2、查詢所有數(shù)據(jù):
- MySQL(和PHP搭配之最佳組合)> select * from mytable;
- +----------+------+------------+----------+
- | name | sex | birth | birthaddr |
- +----------+------+------------+--------+
- | abccs |f | 1977-07-07 | china |
- | mary |f | 1978-12-12 | usa |
- | tom |m | 1970-09-02 | usa |
- +----------+------+------------+----------+
- 3 row in set (0.00 sec)
3、修正錯(cuò)誤記錄:
假如tom的出生日期有錯(cuò)誤,應(yīng)該是1973-09-02,則可以用update語句來修正:
- MySQL(和PHP搭配之最佳組合)> update mytable set birth = "1973-09-02" where name = "tom";
再用2中的語句看看是否已更正過來。
MySQL入門學(xué)習(xí)4、選擇特定行
上面修改了tom的出生日期,我們可以選擇tom這一行來看看是否已經(jīng)有了變化:
- MySQL(和PHP搭配之最佳組合)> select * from mytable where name = "tom";
- +--------+------+------------+------------+
- | name |sex | birth | birthaddr |
- +--------+------+------------+------------+
- | tom |m | 1973-09-02 | usa |
- +--------+------+------------+------------+
- 1 row in set (0.06 sec)
上面WHERE的參數(shù)指定了檢索條件。我們還可以用組合條件來進(jìn)行查詢:
- MySQL(和PHP搭配之最佳組合)> SELECT * FROM mytable WHERE sex = "f" AND birthaddr = "china";
- +--------+------+------------+------------+
- | name |sex | birth | birthaddr |
- +--------+------+------------+------------+
- | abccs |f | 1977-07-07 | china |
- +--------+------+------------+------------+
- 1 row in set (0.06 sec)
5、 選擇特定列
假如你想查看表中的所有人的姓名,則可以這樣操作:
- MySQL(和PHP搭配之最佳組合)> SELECT name FROM mytable;
- +----------+
- | name |
- +----------+
- | abccs |
- | mary |
- | tom |
- +----------+
- 3 row in set (0.00 sec)
如果想列出姓名和性別兩列,則可以用逗號(hào)將關(guān)鍵詞name和birth分開:
- myaql> select name,birth from mytable;
6、對(duì)行進(jìn)行排序
我們可以對(duì)表中的記錄按生日大小進(jìn)行排序:
- MySQL(和PHP搭配之最佳組合)> SELECT name, birth FROM mytable ORDER BY birth;
- +----------+------------+
- | name | birth |
- +----------+------------+
- | tom | 1973-09-02 |
- | abccs | 1977-07-07 |
- | mary | 1978-12-12 |
- +----------+------------+
- 3 row in set (0.00 sec)
我們可以用DESC來進(jìn)行逆序排序:
- MySQL(和PHP搭配之最佳組合)> SELECT name, birth FROM mytable ORDER BY birth DESC;
- +----------+------------+
- | name | birth |
- +----------+------------+
- | mary | 1978-12-12 |
- | abccs | 1977-07-07 |
- | tom | 1973-09-02 |
- +----------+------------+
- 3 row in set (0.00 sec)
7、 行計(jì)數(shù)
MySQL數(shù)據(jù)庫經(jīng)常要統(tǒng)計(jì)一些數(shù)據(jù),如表中員工的數(shù)目,我們就要用到行計(jì)數(shù)函數(shù)COUNT()。 COUNT()函數(shù)用于對(duì)非NULL結(jié)果的記錄進(jìn)行計(jì)數(shù):
- MySQL(和PHP搭配之最佳組合)> SELECT COUNT(*) FROM mytable;
- +----------+
- | COUNT(*) |
- +----------+
- | 3 |
- +----------+
- 1 row in set (0.06 sec)
員工中男女?dāng)?shù)量:
- MySQL(和PHP搭配之最佳組合)> SELECT sex, COUNT(*) FROM mytable GROUP BY sex;
- +------+----------+
- | sex | COUNT(*) |
- +------+----------+
- | f | 2 |
- | m | 1 |
- +------+----------+
- 2 row in set (0.00 sec)
注意我們使用了GROUP BY對(duì)SEX進(jìn)行了分組。 以上的相關(guān)內(nèi)容就是對(duì)MySQL數(shù)據(jù)庫的介紹,望你能有所收獲。
【編輯推薦】