本系列为笔者学习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;

