您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(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ò),可以把它分享出去讓更多的人看到。
免責(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)容。