当前位置: 首页 > 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删除满足条件的记录
http://www.xdnf.cn/news/138385.html

相关文章:

  • 如何设置极狐GitLab 议题截止日?
  • 开源项目实战学习之YOLO11:ultralytics-cfg-datasets-Objects365、open-images-v7.yaml文件(六)
  • ADW600模块:40%体积缩减+多回路智能计量,工业节能的“隐形管家”
  • Docker安装(Ubuntu22版)
  • 【计算机视觉】CV实践- 基于PaddleSeg的遥感建筑变化检测全解析:从U-Net 3+原理到工程实践
  • 什么是 MCP?与 AI Agent 的关系是什么?
  • 14.ArkUI Radio的介绍和使用
  • 实验4:列表与字典应用
  • 机器视觉的胶带模切应用
  • 含锡废水处理的经济效益
  • 【Test】单例模式❗
  • 支持Function Call的本地ollama模型对比评测-》开发代理agent
  • python21-循环小作业
  • 命名空间(C++)
  • 在Dify中创建自定义Drools工具
  • 泽众TestOne精准测试:助力软件开发质量新升级
  • NEGATIVE LABEL GUIDED OOD DETECTION WITH PRETRAINED VISION-LANGUAGE MODELS
  • LeetCode 每日一题 2845. 统计趣味子数组的数目
  • 70.评论日记
  • js数据结构之栈
  • C语言大写转小写2.0
  • 自回归模型的多级关系建模:从单一指向到指向性Token的范式革新
  • 线程函数库
  • 矩阵运营:抢占市场与流量的利器
  • c++头文件知识
  • 数字孪生:从概念到实践,重构未来产业的“虚拟镜像”
  • OpenCv高阶(十)——光流估计
  • Oracle_开启归档日志和重做日志
  • AXOP34062: 40V双通道运算放大器
  • C 语言内存分配方法及优缺点