数据库MySQL四

一、测试题 

数据库MySQL四

 数据库MySQL四

数据库MySQL四

数据库MySQL四

数据库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》筛选条件分为两类

数据库MySQL四

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语法才有

数据库MySQL四

数据库MySQL四

数据库MySQL四

数据库MySQL四

数据库MySQL四

数据库MySQL四

 数据库MySQL四

full全连接

4、总结连接

数据库MySQL四

数据库MySQL四

数据库MySQL四

5、

数据库MySQL四

数据库MySQL四

 数据库MySQL四

 6、子查询

数据库MySQL四

数据库MySQL四

数据库MySQL四

单行子查询

数据库MySQL四

数据库MySQL四

8、多行子查询

any是任意一个的意思

数据库MySQL四

<any

<max(salary) 

数据库MySQL四

数据库MySQL四

数据库MySQL四

数据库MySQL四

数据库MySQL四

数据库MySQL四

数据库MySQL四

表子查询

数据库MySQL四

数据库MySQL四

10、分页查询

数据库MySQL四

数据库MySQL四

数据库MySQL四

 

数据库MySQL四

 数据库MySQL四

从0开始计数 

数据库MySQL四

联合查询

数据库MySQL四

数据库MySQL四

数据库MySQL四

数据库MySQL四

类型要相同

列数要相同,不可以不同

只有一一对应才有意义

数据库MySQL四

数据库MySQL四

DDL语句

数据定义语言

数据库MySQL四

数据库MySQL四

数据库MySQL四

修改数据库就是表的修改

数据库MySQL四

数据库MySQL四

介绍常见的数据类型

数据库MySQL四

数据库MySQL四

数据库MySQL四

总结

数据库MySQL四

数据库MySQL四

数据库MySQL四

数据库MySQL四

常见约束

数据库MySQL四

一个表只能有一个主键

三个都选,则是三个有不同就可以

数据库MySQL四

数据库MySQL四

数据库MySQL四

修改表 

数据库MySQL四

数据库MySQL四

数据库MySQL四

数据库MySQL四

数据库MySQL四

 

数据库MySQL四

数据库MySQL四