1、数据操作语言(DML)
-
修改
- 修改过程中报错安全等级高的解决办法
- 修改语句
- 修改过程中报错安全等级高的解决办法
-
删除(注意表中有的字段被其他表束缚,则该表无法被删除)
- 【删除问题总结】delete、truncate、drop 对表进行操作时,各自有什么作用?
答:delete 是删除表中的行数据,不影响表结构。drop对表结构进行删除,truncate相当于先删除表结构,再创建无数据的表结构。
- 【删除问题总结】delete、truncate、drop 对表进行操作时,各自有什么作用?
-
条件判断使用的运算符
2、数据查询语言(DQL)
-
简单查询
-
带有筛选条件的查询
-
举例:
-
分组查询
- 注意where是在分组前进行筛选,having是在分组后对数据进行筛选。
3、聚合函数
- 注意:distinct是用来去重的
- 实例:
练习
-- 1、先进入到指定数据库
use db_exercise;
-- 2、查询数据库中每个表的结构
select * from tb_c_class;
select * from tb_cc_log;
select * from tb_student;
select * from tb_teacher;
-- 3、查看表结构
desc tb_c_class;
desc tb_teacher;
-- 练习1:将数据表tb_teacher中的tea_post为tea_home
alter table tb_teacher change tea_post tea_home char(15) comment '教师职称';
-- 练习2:将数据表tb_teacher中刷子的教师职称改变为“讲师五级”
update tb_teacher set tea_home='讲师五级' where tea_name='刷子';
-- 运行代码遇到报错:Error Code: 1175. You are using safe update mode and you tried to update a table
-- without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences -> SQL Editor
-- and reconnect.
-- 解决报错问题
set sql_safe_updates = 0;
-- 练习3:查询课程表
select * from tb_c_class;
-- 练习4:查询课程表中“课程名称”和“课程绩点”
select cl_name,cl_credit from tb_c_class;
-- 练习5:查询课程表中绩点大于2的课程(要体现出课程id和课程名)
select cl_id,cl_name,cl_credit from tb_c_class where cl_credit>2;
-- 练习6:统计学生表中男生的数量
select stu_gender,count(*) from tb_student group by stu_gender;
-- 练习7:求tb_cc_log表中所有成绩的总和
select sum(cc_score) as '总成绩' from tb_cc_log;
-- 练习8:求所有学生成绩的平均值
select avg(cc_score) as '平均成绩' from tb_cc_log;
-- 练习9:求所有成绩中的最大值和最小值
select min(cc_score) as '最小值',max(cc_score) as '最大值' from tb_cc_log;
-- 练习10:查看tb_student表中,所有学生的籍贯地有多少个(去重)?
select count(distinct stu_location) as 籍贯地个数 from tb_student;
-- 练习11:罗列tb_student表中所有男生和所有女生
select stu_gender as 性别, group_concat(stu_name) as 成员 from tb_student group by stu_gender;
- 练习结果
-
练习1和2
-
练习3
-
练习4
-
练习5
-
练习6
-
练习7
-
练习8
-
练习9
-
练习10
-
练习11
-