全文大約【1212】字,不說(shuō)廢話,只講可以讓你學(xué)到技術(shù)、明白原理的純干貨!本文帶有豐富案例及配圖視頻,讓你更好的理解和運(yùn)用文中的技術(shù)概念,并可以給你帶來(lái)具有足夠啟迪的思考......
一. 數(shù)據(jù)庫(kù)查詢語(yǔ)言DQL
數(shù)據(jù)庫(kù)查詢語(yǔ)言(DQL):Query Language(簡(jiǎn)稱DQL),就是用來(lái)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行查詢的語(yǔ)句語(yǔ)法。數(shù)據(jù)查詢語(yǔ)言DQL基本結(jié)構(gòu)是由SELECT子句,F(xiàn)ROM子句,WHERE 子句組成的查詢塊。
1.表的組成
關(guān)系結(jié)構(gòu)數(shù)據(jù)庫(kù)是以表格(Table)進(jìn)行數(shù)據(jù)存儲(chǔ),表格由“行”和“列”組成。
經(jīng)驗(yàn):執(zhí)行查詢語(yǔ)句返回的結(jié)果集是一張?zhí)摂M表。
2.基本查詢
語(yǔ)法:SELECT 列名 FROM 表名
2.1 查詢部分列
了解語(yǔ)法后小編帶各位小伙伴一起來(lái)看個(gè)栗子,練習(xí)一下。
#查詢學(xué)生表中所有學(xué)生的編號(hào)、名字、性別
select sid, sname, ssex from student;
2.2 查詢所有列
查詢所有列可以使用星號(hào) * 來(lái)替代列名, 這樣寫(xiě)起來(lái)更方便哦。
#查詢學(xué)生表中所有學(xué)生的所有信息(所有列)
SELECT 所有列的列名 FROM student;
SELECT * FROM student;
注意:生產(chǎn)環(huán)境下,優(yōu)先使用列名查詢。* 的方式需轉(zhuǎn)換成全列名,效率低,可讀性差。
2.3 對(duì)列中的數(shù)據(jù)進(jìn)行運(yùn)算
給學(xué)生表中的所有學(xué)生的年齡+100歲, 列中的字段如果是數(shù)值類型可以計(jì)算的。
#查詢學(xué)生表中所有學(xué)生的編號(hào)、名字、年齡+100
select sid, sname, ssex, Sage+100 from student;
注意:%是占位符,而非模運(yùn)算符。
2.4 列的別名
語(yǔ)法 : SELECT 列名 AS '列名' FROM 表名
上面的查詢列名不太好看, 可以起個(gè)別名。
#查詢學(xué)生表中所有學(xué)生的編號(hào)、名字、年齡
select sid, sname, ssex, Sage+100 as age from student;
3.查詢結(jié)果去重
小伙伴們知道什么是去重嗎?千鋒小編來(lái)告訴你哦, 所謂去重就是去除查詢結(jié)果中重復(fù)的數(shù)據(jù)。
語(yǔ)法 : SELECT DISTINCT 列名 FROM 表名
對(duì)于上面的重復(fù)數(shù)據(jù)可以使用DISTINCT關(guān)鍵字進(jìn)行去重。
#查詢學(xué)生表的名字,性別數(shù)據(jù)并去除重復(fù)數(shù)據(jù)。
select DISTINCT sname, ssex from student;
二. 結(jié)語(yǔ)
小編在這里對(duì)本文核心要點(diǎn)進(jìn)行總結(jié):
1.DQL是對(duì)表數(shù)據(jù)進(jìn)行查詢的語(yǔ)句語(yǔ)法,最為重要并且也是最為復(fù)雜的。
2.熟練掌握select 列名 from 表名, 這樣的查詢基本語(yǔ)法結(jié)構(gòu)。
3.熟練掌握使用DISTINCT關(guān)鍵字進(jìn)行去除重復(fù)數(shù)據(jù)。