數據庫MySQL四

一、測試題 

 

二、複習

說明:sql中的函數分爲單行函數和分組函數

調用語法:select 函數名(實參列表);

1》字符函數

concat(str1,str2,..):拼接字符

substr(str,pos):截取從pos開始的所有字符, 起始索引從1開始

substr(str,pos,len):截取len個從pos開始的字符,起始索引從1開始

length(str):獲取字節個數

char_length(str):獲取字符個數

upper(str):變大寫

lower(str):變小寫

trim(【substr from】str):去前後指定字符,默認是去空格

left(str,len):從左邊截取指定len個數的 字符

right(str,len):從右邊截取指定len個數的 字符

lpad(str,substr,len):左填充

rpad(str,substr,len):右填充

strcmp(str1,str2):比較兩個字符的大小

instr(str,substr):獲取substr在str中第一次出現的索引

2》數學函數

ceil(x):向上取整

floor(x):向下取整

round(x,d):四捨五入

mod(x,y):取模/取餘

truncate(x,d):截斷,保留小數點後d位

abs(x):求絕對值

3》日期函數

now():獲取當前日期——時間

curtime():只有時間

curdate():只有日期

date_format(date,格式):格式日期爲字符

str_to_date(str,格式):將字符轉換成日期

datediff(date1,date2):獲取兩個日期之間的天數差

year(date)

month(date)

...

4》流程控制函數

①if(條件,表達式1,表達式2):如果條件成立,返回表達式1,否則返回表達式2

②case 表達式

when 值1 then 結果1

when 值2 then 結果2

...

else 結果n

end

case

when 條件1 then 結果1

when 條件2 then 結果2

...

else 結果n

end

5、分組函數 ★

sum求和

avg平均

max最大

min最小

count個數

特點:

1》實參的字段的類型,sum和avg只支持數值型,其他三個可以支持任意類型

2》這五個函數都忽略null值

3》count可以支持以下參數

count(字段):查詢該字段非空值 的個數

count(*) :查詢結果集的行數

count(1):查詢結果集的行數

4》分組函數可以和distinct搭配使用,實現去重的統計

select count(distinct 字段) from 表;

6、分組查詢 ★

語法:

select 分組函數,分組的字段

from 表名

where 分組前的篩選條件

group by 分組列表

having 分組後的篩選條件

order by 排序列表;

特點:

1》分組列表可以是單個字段、多個字段

2》篩選條件分爲兩類

7、連接查詢 ★

說明:當查詢中涉及到了多個字段,則需要通過多表連接

笛卡爾乘積:

出現原因:沒有有效的連接條件

解決辦法:添加有效的連接條件

--------------------------SQL92語法------------------------

語法:

select 查詢列表

from 表1 別名,表2 別名,...

where 連接條件

and 篩選條件

group by 分組列表⑤

having 分組後篩選⑥

order by 排序列表;⑦

 

執行順序:

②③④⑤⑥①⑦

--------------------------SQL99語法------------------------

1》內連接

語法:

select 查詢列表 ①

from 表1 別名②

【inner】 join 表2 別名 on 連接條件 ③

【inner】 join 表3 別名 on 連接條件

where 篩選條件 ④

group by 分組列表⑤

having 分組後的篩選⑥

order by 排序列表⑦

 

執行順序:

②③④⑤⑥①⑦

三、外連接

99語法纔有

 

full全連接

4、總結連接

5、

 

 6、子查詢

單行子查詢

8、多行子查詢

any是任意一個的意思

<any

<max(salary) 

表子查詢

10、分頁查詢

 

 

從0開始計數 

聯合查詢

類型要相同

列數要相同,不可以不同

只有一一對應纔有意義

DDL語句

數據定義語言

修改數據庫就是表的修改

介紹常見的數據類型

總結

常見約束

一個表只能有一個主鍵

三個都選,則是三個有不同就可以

修改表 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章