溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句select的用法

發(fā)布時(shí)間:2020-10-20 14:38:22 來(lái)源:億速云 閱讀:934 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章將為大家詳細(xì)講解有關(guān)數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句select的用法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句select用于從表中選取數(shù)據(jù),結(jié)果被存儲(chǔ)在一個(gè)結(jié)果表中(稱(chēng)為結(jié)果集);語(yǔ)法格式為“SELECT [列名稱(chēng)] FROM 表名稱(chēng) [WHERE子句的等限制條件];”。

SELECT 語(yǔ)句

SELECT 語(yǔ)句用于從表中選取數(shù)據(jù)。

結(jié)果被存儲(chǔ)在一個(gè)結(jié)果表中(稱(chēng)為結(jié)果集)。

SELECT 的語(yǔ)法格式如下:

SELECT
{* | <字段列名>}
[
FROM <表 1>, <表 2>…
[WHERE <表達(dá)式>
[GROUP BY <group by definition>
[HAVING <expression> [{<operator> <expression>}…]]
[ORDER BY <order by definition>]
[LIMIT[<offset>,] <row count>]
]

其中,各條子句的含義如下:

  • {*|<字段列名>}包含星號(hào)通配符的字段列表,表示所要查詢(xún)字段的名稱(chēng)。

  • <表 1>,<表 2>…,表 1 和表 2 表示查詢(xún)數(shù)據(jù)的來(lái)源,可以是單個(gè)或多個(gè)。

  • WHERE <表達(dá)式>是可選項(xiàng),如果選擇該項(xiàng),將限定查詢(xún)數(shù)據(jù)必須滿(mǎn)足該查詢(xún)條件。

  • GROUP BY< 字段 >,該子句告訴 MySQL 如何顯示查詢(xún)出來(lái)的數(shù)據(jù),并按照指定的字段分組。

  • [ORDER BY< 字段 >],該子句告訴 MySQL 按什么樣的順序顯示查詢(xún)出來(lái)的數(shù)據(jù),可以進(jìn)行的排序有升序(ASC)和降序(DESC),默認(rèn)情況下是升序。

  • [LIMIT[<offset>,]<row count>],該子句告訴 MySQL 每次顯示查詢(xún)出來(lái)的數(shù)據(jù)條數(shù)。

使用“*”查詢(xún)表的所有字段

SELECT 可以使用“*”查找表中所有字段的數(shù)據(jù),語(yǔ)法格式如下:

SELECT * FROM 表名;

使用“*”查詢(xún)時(shí),只能按照數(shù)據(jù)表中字段的順序進(jìn)行排列,不能改變字段的排列順序。

例 1

從 tb_students_info 表中查詢(xún)所有字段的數(shù)據(jù),SQL 語(yǔ)句和運(yùn)行結(jié)果如下所示。

mysql> use test_db;
Database changed
mysql> SELECT * FROM tb_students_info;
+----+--------+---------+------+------+--------+------------+
| id | name   | dept_id | age  | sex  | height | login_date |
+----+--------+---------+------+------+--------+------------+
|  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |
|  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |
|  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |
|  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |
|  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |
|  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |
|  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |
|  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |
|  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |
| 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |
+----+--------+---------+------+------+--------+------------+
10 rows in set (0.26 sec)

結(jié)果顯示,使用“*”通配符時(shí),將返回所有列,數(shù)據(jù)列按照創(chuàng)建表時(shí)的順序顯示。

注意:一般情況下,除非需要使用表中所有的字段數(shù)據(jù),否則最好不要使用通配符“*”。雖然使用通配符可以節(jié)省輸入查詢(xún)語(yǔ)句的時(shí)間,但是獲取不需要的列數(shù)據(jù)通常會(huì)降低查詢(xún)和所使用的應(yīng)用程序的效率。使用“*”的優(yōu)勢(shì)是,當(dāng)不知道所需列的名稱(chēng)時(shí),可以通過(guò)“*”獲取它們。

查詢(xún)表中指定的字段

查詢(xún)表中的某一個(gè)字段的語(yǔ)法格式為:

SELECT < 列名 > FROM < 表名 >;

例 2

查詢(xún) tb_students_info 表中 name 列所有學(xué)生的姓名,SQL 語(yǔ)句和運(yùn)行結(jié)果如下所示。

mysql> SELECT name FROM tb_students_info;
+--------+
| name   |
+--------+
| Dany   |
| Green  |
| Henry  |
| Jane   |
| Jim    |
| John   |
| Lily   |
| Susan  |
| Thomas |
| Tom    |
+--------+
10 rows in set (0.00 sec)

輸出結(jié)果顯示了 tb_students_info 表中 name 字段下的所有數(shù)據(jù)。

使用 SELECT 聲明可以獲取多個(gè)字段下的數(shù)據(jù),只需要在關(guān)鍵字 SELECT 后面指定要查找的字段名稱(chēng),不同字段名稱(chēng)之間用逗號(hào)“,”分隔開(kāi),最后一個(gè)字段后面不需要加逗號(hào),語(yǔ)法格式如下:

SELECT <字段名1>,<字段名2>,…,<字段名n> FROM <表名>;

例 3

從 tb_students_info 表中獲取 id、name 和 height 三列,SQL 語(yǔ)句和運(yùn)行結(jié)果如下所示。

mysql> SELECT id,name,height
    -> FROM tb_students_info;
+----+--------+--------+
| id | name   | height |
+----+--------+--------+
|  1 | Dany   |    160 |
|  2 | Green  |    158 |
|  3 | Henry  |    185 |
|  4 | Jane   |    162 |
|  5 | Jim    |    175 |
|  6 | John   |    172 |
|  7 | Lily   |    165 |
|  8 | Susan  |    170 |
|  9 | Thomas |    178 |
| 10 | Tom    |    165 |
+----+--------+--------+
10 rows in set (0.00 sec)

輸出結(jié)果顯示了 tb_students_info 表中 id、name 和 height 三個(gè)字段下的所有數(shù)據(jù)。

關(guān)于數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句select的用法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI