第三十四天 数据库高级查询

一.Mysql的DQL语句---->数据库查询语句(带条件的查询分类)

基本查询

如果两个数据int类型字段求和的时候,如果某个字段是null,结果是null mysql的ifnull(字段名称,预期值) 函数

SELECT NAME '姓名', (math+IFNULL(english,0)) '总成绩' FROM student2;

where条件可以使用 or 或者java语言||,in(值1,值2.....)

SELECT

FROM student2 WHERE age = 20 OR age = 18 OR age = 45 ; -- 另一种写法 SELECT

FROM student2 WHERE age = 20 || age = 18 || age = 45 ; -- 另一种写法:in(值1,值2.....) SELECT

FROM student2 WHERE age IN (20, 18, 45) ;

高级查询

模糊LIKE

语法 select 字段列表 from 表名 where 字段名称 like'%xx%'

%;代表任意多个字符 (开发中使用居多)

_:代表任意一个字符

'字符%' '%字符%' 也可以

聚合(将一列数据作为一个整体,进行纵向的计算)

count:计算个数 -> 一般选择非空的列:主键 count(*) max:计算最大值 min:计算最小值 sum:计算和 avg:计算平均值 * 注:聚合函数的计算,排除null值。 解决方案: 1. 选择不包含非空的列进行计算 2.IFNULL函数

排序order by

select * from 表名 order by 字段值 asc,desc(升序,降序)

分组group by

select 字段列表 from 表名 group by 分组字段名称

筛选 having

having的后面可以跟聚合函数,having在group by

分页 limit

select 字段列表 from 表名 limit 起始行数 ,每页显示的条数;

起始行数= (当前页码数)

编译顺序

select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 limit 分页限定

二.数据库约束(限定用户操作数据库的一种行为)

默认约束 default

非空约束 not null

唯一约束 unique

主键约束 primary key 非空且唯一

自增长约束auto_increment

级联操作cascade :需要上面的有关联关系需要用级联

三.关于表和表的关系 /数据库的三大范式(设计数据库)

一对多(常见):部门和员工

多对多(常见):订单和商品

一对一:用户和身份证

用户表 中间表 角色表 中间表 权限表 ----权限框架(三阶段)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值