程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 如何從MySQL數據庫表中檢索數據

如何從MySQL數據庫表中檢索數據

編輯:MySQL綜合教程

在《用MySQL創建數據庫和數據庫表》文章中,我們如何創建一個數據庫和數據庫表,並知道如何向數據庫表中添加記錄。 那麼我們如何從數據庫表中檢索數據呢?
1、從數據庫表中檢索信息
實際上,前面我們已經用到了SELECT語句,它用來從數據庫表中檢索信息。
select語句格式一般為:
SELECT 檢索關鍵詞 FROM 被檢索的表 WHERE 檢索條件(可選)
以前所使用的“ * ”表示選擇所有的列。下面繼續使用我們在上篇文章中創建的表mytable。
2、查詢所有數據:

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的出生日期有錯誤,應該是1973-09-02,則可以用update語句來修正: mysql> update mytable set birth = "1973-09-02" where name = "tom"; 再用2中的語句看看是否已更正過來。
4、選擇特定行 

上面修改了tom的出生日期,我們可以選擇tom這一行來看看是否已經有了變化:

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的參數指定了檢索條件。我們還可以用組合條件來進行查詢:
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)

5、 選擇特定列
假如你想查看表中的所有人的姓名,則可以這樣操作:
mysql> SELECT name FROM mytable; 
+----------+ 
| name | 
+----------+ 
| abccs | 
| mary | 
| tom | 
+----------+ 
3 row in set (0.00 sec)

如果想列出姓名和性別兩列,則可以用逗號將關鍵詞name和birth分開: myaql> select name,birth from mytable; 
6、對行進行排序 
我們可以對表中的記錄按生日大小進行排序:
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來進行逆序排序:
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、 行計數
數據庫經常要統計一些數據,如表中員工的數目,我們就要用到行計數函數COUNT()。COUNT()函數用於對非NULL結果的記錄進行計數:
mysql> SELECT COUNT(*) FROM mytable; 
+----------+ 
| COUNT(*) | 
+----------+ 
| 3 | 
+----------+ 
1 row in set (0.06 sec) 
員工中男女數量: 
mysql> SELECT sex, COUNT(*) FROM mytable GROUP BY sex; 
+------+----------+ 
| sex | COUNT(*) | 
+------+----------+ 
| f | 2 | 
| m | 1 | 
+------+----------+ 
2 row in set (0.00 sec)

注意我們使用了GROUP BY對SEX進行了分組。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved