教你在MySQL數(shù)據(jù)庫中操作數(shù)據(jù)
MySQL數(shù)據(jù)庫中對表的操作是初學(xué)者學(xué)習(xí)時的難點,下面我們就來對MySQL數(shù)據(jù)庫進(jìn)行一系列的表操作來幫助初學(xué)者迅速的掌握對MySQL數(shù)據(jù)表的操作。
1、從數(shù)據(jù)庫表中檢索信息
實際上,前面我們已經(jīng)用到了SELECT語句,它用來從數(shù)據(jù)庫表中檢索信息。
select語句格式一般為:
SELECT 檢索關(guān)鍵詞 FROM 被檢索的表 WHERE 檢索條件(可選)
以前所使用的“ * ”表示選擇所有的列。
假設(shè)我們已經(jīng)創(chuàng)建了表mytable,下面的所有操作都是對mytable表的操作。
2、查詢所有數(shù)據(jù)
- mysql> 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、修正錯誤記錄
假如tom的出生日期有錯誤,應(yīng)該是1973-09-02,則可以用update語句來修正:
mysql> update mytable set birth = "1973-09-02" where name = "tom";
再用2中的語句看看是否已更正過來。
4、選擇特定行
上面修改了tom的出生日期,我們可以選擇tom這一行來看看是否已經(jīng)有了變化:
- mysql> 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> 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)
#p#
5、 選擇特定列
假如你想查看表中的所有人的姓名,則可以這樣操作:
- mysql> SELECT name FROM mytable;
- +----------+
- | name |
- +----------+
- | abccs |
- | mary |
- | tom
- |
- +----------+
- 3 row in set (0.00 sec)
如果想列出姓名和性別兩列,則可以用逗號將關(guān)鍵詞name和birth分開:
- myaql> select name,birth from mytable;
6、對行進(jìn)行排序
我們可以對表中的記錄按生日大小進(jìn)行排序:
- mysql> 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> 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、 行計數(shù)
數(shù)據(jù)庫經(jīng)常要統(tǒng)計一些數(shù)據(jù),如表中員工的數(shù)目,我們就要用到行計數(shù)函數(shù)COUNT()。
COUNT()函數(shù)用于對非NULL結(jié)果的記錄進(jìn)行計數(shù):
- mysql> SELECT COUNT(*) FROM mytable;
- | COUNT(*) |
- +----------+
- |
- 3 |
- +----------+
- 1 row in set (0.06 sec)
員工中男女?dāng)?shù)量:
- mysql> SELECT sex, COUNT(*) FROM mytable GROUP BY sex;
- +------+----------+
- | sex | COUNT(*) |
- +------+----------+
- | f |
- 2 |
- | m |
- 1 |
- +------+----------+
以上就是MySQL數(shù)據(jù)庫表的一些常用的操作,希望會對讀者有所幫助。如果想更多地了解MySQL數(shù)據(jù)庫,請參考我們網(wǎng)站的MySQL專欄:http://database.51cto.com/col/484/。
【編輯推薦】