在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ MySQL查詢數(shù)據(jù)
MySQL+Node.js連接和操作
MySQL刪除表數(shù)據(jù)
http://www.yiibai.com/mysql/triggers.html
MySQL是什么?
MySQL插入數(shù)據(jù)
MySQL是什么?
MySQL全文搜索
MySQL數(shù)據(jù)庫(kù)服務(wù)器安裝
MySQL創(chuàng)建表
MySQL導(dǎo)入示例數(shù)據(jù)庫(kù)
MySQL教程
MySQL函數(shù)
MySQL管理
MySQL WHERE語(yǔ)句
MySQL存儲(chǔ)過(guò)程
MySQL技巧
MySQL觸發(fā)器
MySQL示例數(shù)據(jù)庫(kù)
MySQL重命名表
MySQL數(shù)據(jù)類型
MySQL創(chuàng)建與刪除數(shù)據(jù)庫(kù)
MySQL更新表數(shù)據(jù)
MySQL快速學(xué)習(xí)入門
MySQL安裝
MySQL快速入門
MySQL視圖
http://www.yiibai.com/mysql/mysqltips.html
MySQL修改表結(jié)構(gòu)
MySQL基礎(chǔ)教程
MySQL+Python連接和操作
http://www.yiibai.com/mysql/basic-mysql.html
MySQL查詢數(shù)據(jù)
http://www.yiibai.com/mysql/views.html
http://www.yiibai.com/mysql/full-text-search.html
下載本MySQL教程的示例數(shù)據(jù)庫(kù)(其中包函表和示例數(shù)據(jù))
http://www.yiibai.com/mysql/stored-procedure.html

MySQL查詢數(shù)據(jù)

在本教程中,您將學(xué)習(xí)如何使用MySQLSELECT語(yǔ)句從表或視圖查詢數(shù)據(jù)。

MySQL SELECT語(yǔ)句簡(jiǎn)介

使用SELECT語(yǔ)句從表或視圖獲取數(shù)據(jù)。表由行和列組成,如電子表格。 通常,我們只希望看到子集行,列的子集或兩者的組合。SELECT語(yǔ)句的結(jié)果稱為結(jié)果集,它是行列表,每行由相同數(shù)量的列組成。

請(qǐng)參閱示例數(shù)據(jù)庫(kù)(yiibaidb)中的以下employees表的結(jié)構(gòu)。它有8列:?jiǎn)T工人數(shù),姓氏,名字,分機(jī),電子郵件,辦公室代碼,報(bào)告,職位等。

SELECT語(yǔ)句控制要查看哪些列和行。例如,如果只對(duì)所有員工的名字,姓氏和職位感興趣,或者您只想查看其職位是銷售代表的每位員工的信息,則SELECT語(yǔ)句可幫助您執(zhí)行這些操作。

我們來(lái)看一下SELECT語(yǔ)句的語(yǔ)法:

SELECT 
    column_1, column_2, ...
FROM
    table_1
[INNER | LEFT |RIGHT] JOIN table_2 ON conditions
WHERE
    conditions
GROUP BY column_1
HAVING group_conditions
ORDER BY column_1
LIMIT offset, length;

SELECT語(yǔ)句由以下列表中所述的幾個(gè)子句組成:

  • SELECT之后是逗號(hào)分隔列或星號(hào)(*)的列表,表示要返回所有列。
  • FROM指定要查詢數(shù)據(jù)的表或視圖。
  • JOIN根據(jù)某些連接條件從其他表中獲取數(shù)據(jù)。
  • WHERE過(guò)濾結(jié)果集中的行。
  • GROUP BY將一組行組合成小分組,并對(duì)每個(gè)小分組應(yīng)用聚合函數(shù)。
  • HAVING過(guò)濾器基于GROUP BY子句定義的小分組。
  • ORDER BY指定用于排序的列的列表。
  • LIMIT限制返回行的數(shù)量。

語(yǔ)句中的SELECTFROM語(yǔ)句是必須的,其他部分是可選的。

在隨后的教程中將更詳細(xì)地了解每個(gè)子句。在本教程中,我們將重點(diǎn)介紹SELECT語(yǔ)句的簡(jiǎn)單形式用法。

MySQL SELECT語(yǔ)句示例

SELECT語(yǔ)句允許通過(guò)在SELECT子句中指定逗號(hào)分隔列的列表來(lái)查詢表的部分?jǐn)?shù)據(jù)。 例如,如果要僅查看員工的名字,姓氏和職位,請(qǐng)使用以下查詢:

SELECT 
    lastname, firstname, jobtitle
FROM
    employees;

即使員工表中有很多列,SELECT語(yǔ)句只返回表中所有行的三列數(shù)據(jù),如下圖所示:

mysql> SELECT lastname, firstname, jobtitle FROM employees;
+-----------+-----------+----------------------+
| lastname  | firstname | jobtitle             |
+-----------+-----------+----------------------+
| Murphy    | Diane     | President            |
| Patterson | Mary      | VP Sales             |
| Firrelli  | Jeff      | VP Marketing         |
| Patterson | William   | Sales Manager (APAC) |
| Bondur    | Gerard    | Sale Manager (EMEA)  |
| Bow       | Anthony   | Sales Manager (NA)   |
| Jennings  | Leslie    | Sales Rep            |
| Thompson  | Leslie    | Sales Rep            |
| Firrelli  | Julie     | Sales Rep            |
| Patterson | Steve     | Sales Rep            |
| Tseng     | Foon Yue  | Sales Rep            |
| Vanauf    | George    | Sales Rep            |
| Bondur    | Loui      | Sales Rep            |
| Hernandez | Gerard    | Sales Rep            |
| Castillo  | Pamela    | Sales Rep            |
| Bott      | Larry     | Sales Rep            |
| Jones     | Barry     | Sales Rep            |
| Fixter    | Andy      | Sales Rep            |
| Marsh     | Peter     | Sales Rep            |
| King      | Tom       | Sales Rep            |
| Nishi     | Mami      | Sales Rep            |
| Kato      | Yoshimi   | Sales Rep            |
| Gerard    | Martin    | Sales Rep            |
+-----------+-----------+----------------------+
23 rows in set

注意比較以下兩個(gè)語(yǔ)句返回列有什么區(qū)別 -

語(yǔ)句-1

SELECT lastname, firstname, jobtitle FROM employees;

語(yǔ)句-2

SELECT * FROM employees;

如果要獲取employees表中所有列的數(shù)據(jù),可以列出SELECT子句中的所有列名,或者只需使用星號(hào)(*)表示您想要從表的所有列獲取數(shù)據(jù),如下查詢:

mysql> SELECT * FROM employees;
+----------------+-----------+-----------+-----------+-----------------------+------------+-----------+----------------------+
| employeeNumber | lastName  | firstName | extension | email                 | officeCode | reportsTo | jobTitle             |
+----------------+-----------+-----------+-----------+-----------------------+------------+-----------+----------------------+
|           1002 | Murphy    | Diane     | x5800     | dmurphy@yiibai.com    | 1          | NULL      | President            |
|           1056 | Patterson | Mary      | x4611     | mpatterso@yiibai.com  | 1          |      1002 | VP Sales             |
|           1076 | Firrelli  | Jeff      | x9273     | jfirrelli@yiibai.com  | 1          |      1002 | VP Marketing         |
|           1088 | Patterson | William   | x4871     | wpatterson@yiibai.com | 6          |      1056 | Sales Manager (APAC) |
|           1102 | Bondur    | Gerard    | x5408     | gbondur@gmail.com     | 4          |      1056 | Sale Manager (EMEA)  |
|           1143 | Bow       | Anthony   | x5428     | abow@gmail.com        | 1          |      1056 | Sales Manager (NA)   |
|           1165 | Jennings  | Leslie    | x3291     | ljennings@yiibai.com  | 1          |      1143 | Sales Rep            |
|           1166 | Thompson  | Leslie    | x4065     | lthompson@yiibai.com  | 1          |      1143 | Sales Rep            |
|           1188 | Firrelli  | Julie     | x2173     | jfirrelli@yiibai.com  | 2          |      1143 | Sales Rep            |
|           1216 | Patterson | Steve     | x4334     | spatterson@yiibai.com | 2          |      1143 | Sales Rep            |
|           1286 | Tseng     | Foon Yue  | x2248     | ftseng@yiibai.com     | 3          |      1143 | Sales Rep            |
|           1323 | Vanauf    | George    | x4102     | gvanauf@yiibai.com    | 3          |      1143 | Sales Rep            |
|           1337 | Bondur    | Loui      | x6493     | lbondur@yiibai.com    | 4          |      1102 | Sales Rep            |
|           1370 | Hernandez | Gerard    | x2028     | ghernande@gmail.com   | 4          |      1102 | Sales Rep            |
|           1401 | Castillo  | Pamela    | x2759     | pcastillo@gmail.com   | 4          |      1102 | Sales Rep            |
|           1501 | Bott      | Larry     | x2311     | lbott@yiibai.com      | 7          |      1102 | Sales Rep            |
|           1504 | Jones     | Barry     | x102      | bjones@gmail.com      | 7          |      1102 | Sales Rep            |
|           1611 | Fixter    | Andy      | x101      | afixter@yiibai.com    | 6          |      1088 | Sales Rep            |
|           1612 | Marsh     | Peter     | x102      | pmarsh@yiibai.com     | 6          |      1088 | Sales Rep            |
|           1619 | King      | Tom       | x103      | tking@gmail.com       | 6          |      1088 | Sales Rep            |
|           1621 | Nishi     | Mami      | x101      | mnishi@gmail.com      | 5          |      1056 | Sales Rep            |
|           1625 | Kato      | Yoshimi   | x102      | ykato@gmail.com       | 5          |      1621 | Sales Rep            |
|           1702 | Gerard    | Martin    | x2312     | mgerard@gmail.com     | 4          |      1102 | Sales Rep            |
+----------------+-----------+-----------+-----------+-----------------------+------------+-----------+----------------------+
23 rows in set

它返回employees表中的所有列和行。應(yīng)該使用星號(hào)(*)進(jìn)行測(cè)試。建議顯式獲取數(shù)據(jù)的列,原因如下:

  • 使用星號(hào)(*)可能會(huì)返回不使用的列的數(shù)據(jù)。 它在MySQL數(shù)據(jù)庫(kù)服務(wù)器和應(yīng)用程序之間產(chǎn)生不必要的I/O磁盤和網(wǎng)絡(luò)流量。
  • 如果明確指定列,則結(jié)果集更可預(yù)測(cè)并且更易于管理。 想象一下,當(dāng)您使用星號(hào)(*)并且有人通過(guò)添加更多列來(lái)更改表格數(shù)據(jù)時(shí),將會(huì)得到一個(gè)與預(yù)期不同的結(jié)果集。
  • 使用星號(hào)(*)可能會(huì)將敏感信息暴露給未經(jīng)授權(quán)的用戶。

在本教程中,您已經(jīng)了解并熟悉了MySQL SELECT語(yǔ)句的用法,并通過(guò)SELECT語(yǔ)句從MySQL表中查詢數(shù)據(jù)。


上一篇:MySQL教程下一篇:MySQL基礎(chǔ)教程