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ù),用于剔除查詢結果中重復的數(shù)據(jù);

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

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

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

2.?????查詢所有字段

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

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

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

3.?????查詢指定字段

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

二、 按條件查詢

1.?????帶關系運算符的查詢

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

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

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

3.?????帶between and關鍵字的查詢:用于判斷某個字段的值是否在指定的范圍內。

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

4.?????空值查詢

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

5.?????帶distint關鍵字的查詢:過濾掉查詢記錄中重復的值

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

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

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

????????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)???使用百分號和下劃線通配符進行查詢操作:

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

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

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

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

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

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

9.?????Or和and關鍵字在一起使用的情況:and的優(yōu)先級高于or, 應優(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.?????對查詢結果排序

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分組:查詢結果安裝字段中不同的值進行分類,查詢結果只顯示每個組中的一條記錄。

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

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

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

(3)???Group by和having關鍵字一起使用

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

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

????????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,…)

返回一個或者多個字符串連接產生的新的字符串

Trim(str)

刪除字符串兩側的空格

Replace(str,s1,s2)

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

Substring(str,n,len)

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

Reverse(str)

返回字符串反轉后的結果

Locate(s1,str)

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

日期和時間函數(shù)

函數(shù)名稱

作用

Curdate()

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

Curtime()

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

Sysdate()

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

Time_to_sec()

返回將時間轉換成秒的結果

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等,則返回對應位置then后面的結果,否則返回else后的結果rn

?

加密函數(shù)

函數(shù)名稱

作用

Md5(str)

對字符串str進行MD5加盟

Encode(str, pwd_str)

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

Decode(str, pwd_str)

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

?

(1)???Concat(str1,str2,…)返回結果為連接參數(shù)產生的字符串,如果任何一個參數(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ù)庫單表查詢,更多相關內容請關注php中文網。

相關推薦:

$選擇器–是如何將DOM封裝成jquery對象

$選擇器–是如何將DOM封裝成jquery對象

$選擇器–是如何將DOM封裝成jquery對象

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享