当前位置: 首页 > news >正文

数据库MySQL学习——day4(更多查询操作与更新数据)

文章目录

  • 1、聚合函数(Aggregate Functions)
  • 2、分组查询(GROUP BY)
  • 3、更新数据(UPDATE)
  • 4、删除数据(DELETE)
  • 5、进阶练习示例
  • 6、 今日小结

1、聚合函数(Aggregate Functions)

聚合函数用于对一组值执行计算,常用于统计数据。

常见聚合函数:

函数作用
COUNT()统计记录条数
SUM()计算总和
AVG()计算平均值
MAX()返回最大值
MIN()返回最小值
  • 示例:统计学生和成绩数据
-- 统计学生表中的学生总数
SELECT COUNT(*) AS student_count FROM student;-- 统计成绩表中的成绩条数
SELECT COUNT(*) AS score_count FROM grade;-- 计算平均成绩
SELECT AVG(score) AS avg_score FROM grade;-- 查询最高成绩
SELECT MAX(score) AS max_score FROM grade;-- 查询最低成绩
SELECT MIN(score) AS min_score FROM grade;
  • 注意:聚合函数可以与 WHERE 子句一起使用来限定计算范围。

2、分组查询(GROUP BY)

GROUP BY 子句用于将查询结果按某个字段的值进行分组,常与聚合函数连用。

  • 示例:按年龄分组,统计学生人数
SELECT age, COUNT(*) AS age_group_count
FROM student
GROUP BY age;
  • 示例:按学生 ID 分组,计算每个学生的平均成绩
SELECT student_id, AVG(score) AS avg_score
FROM grade
GROUP BY student_id;
  • GROUP BY 后面跟的是用于分组的字段,SELECT 中除聚合函数外的字段必须在 GROUP BY 中出现。

3、更新数据(UPDATE)

语法结构:

UPDATE 表名
SET 字段1 =1, 字段2 =2, ...
WHERE 条件;
  • 示例:修改某个学生的年龄
UPDATE student
SET age = 20
WHERE student_id = 1;
  • 注意:

  • 一定要加 WHERE 限定条件,否则会更新整个表的所有记录。

  • 可同时更新多个字段。

4、删除数据(DELETE)

语法结构:

DELETE FROM 表名
WHERE 条件;
  • 示例:删除成绩为 0 的记录
DELETE FROM grade
WHERE score = 0;
  • 小心使用 DELETE,尤其要注意是否加了WHERE条件。

5、进阶练习示例

  • 查询每个学生的成绩条数与总分
SELECT student_id, COUNT(*) AS score_count, SUM(score) AS total_score
FROM grade
GROUP BY student_id;
  • 将 GPA 小于 2.0 的学生标记为“需关注”状态(假设有 status 字段)
UPDATE student
SET status = '需关注'
WHERE gpa < 2.0;
  • 删除所有分数低于 30 的记录
DELETE FROM grade
WHERE score < 30;

6、 今日小结

内容关键词作用
聚合函数COUNT(), AVG(), MAX() 等快速计算表中数值统计
分组查询GROUP BY根据字段分组后进行统计
更新数据UPDATE … SET … WHERE修改表中已有记录
删除数据DELETE FROM … WHERE删除满足条件的记录

相关文章:

  • 深入解析YOLO v1:实时目标检测的开山之作
  • Python命名参数的使用
  • 2024-08-12-20T10:00:00+0800什么格式?
  • 根据JSON动态生成表单表格
  • Jenkins流水线管理工具
  • Axure疑难杂症:详解设置选中与选中效果(玩转选中)
  • python——异常
  • 计算机视觉各类任务评价指标详解
  • 从FP32到BF16,再到混合精度的全景解析
  • 深度解析 Java 泛型通配符 `<? super T>` 和 `<? extends T>`
  • Cancer Cell|scRNA-seq + scTCR + 空间多组学整合分析,揭示CD8⁺ T细胞在免疫治疗中的“双路径” | 临床问题的组学解答
  • Tailwind CSS实战:快速构建定制化UI的新思路
  • 【CUDA 编译 bug】ld: cannot find -lcudart
  • 手工收集统计信息
  • 管家婆财贸ERP BB103.收款单按明细核算部门项目
  • Q2桥门式起重机司机考试复习重点
  • 16.ArkUI Toggle的介绍和使用
  • 软件测试流程
  • Mac中 “XX”文件已损坏,无法打开 解决方案
  • 系统架构师2025年论文《论软件架构评估2》
  • 第1现场|无军用物资!伊朗港口爆炸已遇难40人伤1200人
  • 马上评丨学生举报食堂饭菜有蛆,教育局应该护谁的犊子
  • 视觉周刊|2025上海车展的科技范
  • 委员呼吁提高政府机构电话号码准确性,辽宁阜新回应
  • 财政部部长蓝佛安:中国将采取更加积极有为的宏观政策
  • 一季度煤价持续下探,多家煤炭巨头营收下滑、净利润降约两成