溫馨提示×

溫馨提示×

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

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

MySQL數(shù)據(jù)庫單表查詢的示例

發(fā)布時間:2021-01-15 13:58:21 來源:億速云 閱讀:237 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹MySQL數(shù)據(jù)庫單表查詢的示例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

一、 簡單查詢

1.     Select語句

Select [distinct] * | {字段名1,字段名2,字段名3,。。。}

From表名

[where條件表達式1]

[groupby 字段名 [having 條件表達式2]]

[orderby 字段名 [asc|desc]]

[limit[offset] 記錄數(shù)]

(1)   Distinct是可選參數(shù),用于剔除查詢結(jié)果中重復(fù)的數(shù)據(jù);

(2)   Group by是可選參數(shù),用于將查詢結(jié)果按照指定字段進行分組;having也是可選次參賽,用于對分組后的結(jié)果進行過濾

(3)   Order by是可選參數(shù),用于將查詢結(jié)果按照指定字段進行排序,排序方式由參數(shù)ASC或DESC控制,如果不指定,則默認為升序排列(ASC)

(4)   Limit 是可選參數(shù),用于限制查詢結(jié)果的數(shù)量,limit后面可以跟兩個參數(shù),第一個參數(shù)offset表示偏移量,如果偏移量為0,則從查詢結(jié)果的第一條記錄開始,偏移量為n則從查詢結(jié)果中的第n+1條記錄開始。如果不指定,則默認為0. 第二個參數(shù)‘記錄數(shù)’表示返回查詢記錄的條數(shù)。

2.     查詢所有字段

(1)   在select語句中指定所有字段

MySQL數(shù)據(jù)庫單表查詢的示例

(2)   在select語句中使用*通配符代替所有字段:查詢結(jié)果只能按照字段在表中定義的順序顯示。

3.     查詢指定字段

MySQL數(shù)據(jù)庫單表查詢的示例

二、 按條件查詢

1.     帶關(guān)系運算符的查詢

MySQL數(shù)據(jù)庫單表查詢的示例

2.     帶in關(guān)鍵字的查詢:in關(guān)鍵字用于判斷某個字段的值是否在指定集合中。

MySQL數(shù)據(jù)庫單表查詢的示例MySQL數(shù)據(jù)庫單表查詢的示例

3.     帶between and關(guān)鍵字的查詢:用于判斷某個字段的值是否在指定的范圍內(nèi)。

MySQL數(shù)據(jù)庫單表查詢的示例MySQL數(shù)據(jù)庫單表查詢的示例

4.     空值查詢

MySQL數(shù)據(jù)庫單表查詢的示例

5.     帶distint關(guān)鍵字的查詢:過濾掉查詢記錄中重復(fù)的值

MySQL數(shù)據(jù)庫單表查詢的示例

當distinct關(guān)鍵字作用于多個字段時,只有它后面指定的多個字段值都相同,才會被認為是重復(fù)記錄。

6.     帶like關(guān)鍵字的查詢:like關(guān)鍵字可以判斷兩個字符串是否相匹配。格式如下:

Select * | [{字段名1,字段名2,…} from 表名

Where 字段名 [not] like ‘匹配字符串’;

(1)   百分號(%)通配符:匹配任意長度的字符串,包括空字符串

MySQL數(shù)據(jù)庫單表查詢的示例MySQL數(shù)據(jù)庫單表查詢的示例

可以使用多個%通配符,也可以和not一起使用

MySQL數(shù)據(jù)庫單表查詢的示例

(2)   下劃線(_)通配符:只能匹配單個字符,如果要匹配多個字符,需要使用多個下劃線通配符,如果使用多個下劃線匹配多個連續(xù)的字符則下劃線之間不能有空格。如‘M_ _QL’中間有一個空格,只能匹配’My SQL’而不能匹配‘MySQL’。

MySQL數(shù)據(jù)庫單表查詢的示例

(3)   使用百分號和下劃線通配符進行查詢操作:

注意:如果要匹配字符串中的百分好和下劃線,就需要在銅牌字符串中使用‘\’對百分號和下劃線進行轉(zhuǎn)義,如’\%’匹配百分號字面值。

7.     帶and關(guān)鍵字的多條件查詢:使用and關(guān)鍵字可以連接兩個或者多個查詢條件,只有滿足所有條件的記錄才會被返回。每多加一個查詢條件就多加一個and關(guān)鍵字。

MySQL數(shù)據(jù)庫單表查詢的示例

MySQL數(shù)據(jù)庫單表查詢的示例

8.     帶or關(guān)鍵字的多條件查詢:只要滿足一個條件即返回記錄。

MySQL數(shù)據(jù)庫單表查詢的示例

9.     Or和and關(guān)鍵字在一起使用的情況:and的優(yōu)先級高于or, 應(yīng)優(yōu)先運算and兩邊的條件表達式,再運算or兩邊的條件表達式。

三、 高級查詢

1.     聚合函數(shù):count(),sum(),avg(),max()和min()

(1)     count()函數(shù)用來統(tǒng)計記錄的條數(shù):selectcount(*) from 表名

MySQL數(shù)據(jù)庫單表查詢的示例

(2)     sum()函數(shù)用于求出表中某個字段所有值的總和:select sum(字段名) from 表名

MySQL數(shù)據(jù)庫單表查詢的示例

(3)     avg()函數(shù)用于求出某個字段所有值的平均值:select avg(字段名) from 表名;

MySQL數(shù)據(jù)庫單表查詢的示例

(4)     max()函數(shù)是求最大值的函數(shù),用于求出某個字段的最大值:select max(字段名) from 表名。

MySQL數(shù)據(jù)庫單表查詢的示例

(5)     min()函數(shù)是求最小值的函數(shù):selectmin(字段名) from 表名

MySQL數(shù)據(jù)庫單表查詢的示例

2.     對查詢結(jié)果排序

Select 字段名1,字段名2,… from表名 order by 字段名1[ASC | DESC],字段名2[ASC | DESC]…

MySQL數(shù)據(jù)庫單表查詢的示例MySQL數(shù)據(jù)庫單表查詢的示例

3.     分組查詢

Select 字段名1,字段名2,… from 表名 group by 字段名1,字段名2,… [having 條件表達式];

(1)   單獨使用group by分組:查詢結(jié)果安裝字段中不同的值進行分類,查詢結(jié)果只顯示每個組中的一條記錄。

MySQL數(shù)據(jù)庫單表查詢的示例

(2)   Group by 和聚合函數(shù)一起使用

MySQL數(shù)據(jù)庫單表查詢的示例

(3)   Group by和having關(guān)鍵字一起使用

Having關(guān)鍵字和where關(guān)鍵字的作用相同,都用于設(shè)置條件表達式對查詢結(jié)果進行過濾,兩者的區(qū)別在于having關(guān)鍵字后可以跟聚合函數(shù),而where關(guān)鍵字不能。通常having關(guān)鍵字都和group by一起使用,用于對分組后的結(jié)果進行過濾。

4.     使用LIMIT限制查詢結(jié)果的數(shù)量:指定查詢結(jié)果從哪一條記錄開始以及一共查詢多少條信息。

Select 字段名1,字段名2,… from表名 limit [offset,] 記錄數(shù)

MySQL數(shù)據(jù)庫單表查詢的示例

5.     函數(shù)(列表)

數(shù)學函數(shù)

函數(shù)名稱

作用

Abs(x)

返回x的絕對值

Sqrt(x)

返回x的非負2次方根

Mod(x,y)

返回x被y除后的余數(shù)

Ceiling(x)

返回不小于x的最小整數(shù)

Floor(x)

返回不大于x的最大整數(shù)

Round(x,y)

對x進行四舍五入操作,小數(shù)點后保留y位

Runcate(x,y)

舍去x中小數(shù)點y位后面的數(shù)

Sign(x)

返回x的符號,-1,0或1

字符串函數(shù)

函數(shù)名稱

作用

Length(str)

返回字符串str的長度

Concat(s1,s2,…)

返回一個或者多個字符串連接產(chǎn)生的新的字符串

Trim(str)

刪除字符串兩側(cè)的空格

Replace(str,s1,s2)

使用字符串s2替換字符串str中所有的字符串s1

Substring(str,n,len)

返回字符串str的子串,起始位置為n,長度為len

Reverse(str)

返回字符串反轉(zhuǎn)后的結(jié)果

Locate(s1,str)

返回子串s1在字符串str中的起始位置

日期和時間函數(shù)

函數(shù)名稱

作用

Curdate()

獲取系統(tǒng)當前日期

Curtime()

獲取系統(tǒng)當前時間

Sysdate()

獲取當前系統(tǒng)日期和時間

Time_to_sec()

返回將時間轉(zhuǎn)換成秒的結(jié)果

Adddate()

執(zhí)行日期的加運算

Subdate()

執(zhí)行日期的減運算

Date_format()

格式化輸出日期和時間值

條件判斷函數(shù)

函數(shù)名稱

作用

If(expr, v1, v2)

如果expr表達式為true返回v1,否則返回v2

Ifnull(v1,v2)

如果v1不為null返回v1,否則返回v2

Case expr when v1 then r1 [when v2 then r2…] [else rn] end

如果expr值等于v1、v2等,則返回對應(yīng)位置then后面的結(jié)果,否則返回else后的結(jié)果rn

加密函數(shù)

函數(shù)名稱

作用

Md5(str)

對字符串str進行MD5加盟

Encode(str, pwd_str)

使用pwd作為密碼加密字符串str

Decode(str, pwd_str)

使用pwd作為密碼解密字符串str

(1)   Concat(str1,str2,…)返回結(jié)果為連接參數(shù)產(chǎn)生的字符串,如果任何一個參數(shù)為null,則返回值為null.

MySQL數(shù)據(jù)庫單表查詢的示例MySQL數(shù)據(jù)庫單表查詢的示例

四、 為表和字段取別名

1.     為表取別名:select * from 表名 [as] 別名;

如下例子,s.gender表示student表的gender字段

MySQL數(shù)據(jù)庫單表查詢的示例

2.     為字段取別名:select 字段名 [AS] 別名 [,字段名 [as] 別名,…] from 表名;

MySQL數(shù)據(jù)庫單表查詢的示例

以上是“MySQL數(shù)據(jù)庫單表查詢的示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

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

AI