本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)》,章节分布参考视频教程,为同样学习JavaWeb系列课程的同学们提供参考。
DML
为Data Manipulation Language
,对数据库中表数据进行增(insert)
、删(delete)
、改(update)
操作。
01 INSERT
注:插入数据需保证顺序正确,范围合理,字符串和日期型数据包含在引号当中。
02 UPDATE
注:修改语句条件可有可无,无条件默认修改整个表。
03 DELETE
注:删除语句条件可有可无,无条件默认删除整个表,不能删除但单个字段的值(可以update
为null
)。
DQL
为Data Query Language
,用来查询数据库表中的记录。
04 DQL 基本查询
05 DQL 条件查询
06 DQL 分组查询
注:null
值不参与所有聚合函数运算;统计数量可以使用count(字段)、count(常量)、count(*)
,推荐使用*
。
where
与having
的区别:
① 执行时机不同。where
是分组之前过滤,having
是分组之后过滤。
② 判断条件不同。where
不能对聚合函数进行判断,having
可以对聚合函数进行判断。
注:执行顺序 where > 聚合函数+分组 > having
。
07 DQL 排序查询
ASC
为默认升序,DESC
为降序,如果是多字段排序,先后执行。
08 DQL 分页查询
起始索引 = (查询页码 - 1)* 每页记录数
09 案例:根据需求完成员工管理的条件分页查询
select *
from MingJiao
where name like '张%' and gender = 1 and entryTime between '2000-01-01' and '2020-01-01'
order by updateTime DESC
limit 0, 10;
10 案例:根据需求,完成员工信息统计
select if(gender = 1, '男性员工','女性员工') 性别, count(*)
from MingJiao
group by gender;
select (case job when 1 then '班主任' when 2 then '讲师' when 3 then '学工主管' when 4 then '教研主管' else '未分配'end) 职位, count(*)
from MingJiao
group by job;