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

文章目录

1、聚合函数(Aggregate Functions)

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

常见聚合函数:

函数 作用
COUNT() 统计记录条数
SUM() 计算总和
AVG() 计算平均值
MAX() 返回最大值
MIN() 返回最小值
  • 示例:统计学生和成绩数据
sql 复制代码
-- 统计学生表中的学生总数
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 子句用于将查询结果按某个字段的值进行分组,常与聚合函数连用。

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

3、更新数据(UPDATE)

语法结构:

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

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

  • 可同时更新多个字段。

4、删除数据(DELETE)

语法结构:

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

5、进阶练习示例

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

6、 今日小结

内容 关键词 作用
聚合函数 COUNT(), AVG(), MAX() 等 快速计算表中数值统计
分组查询 GROUP BY 根据字段分组后进行统计
更新数据 UPDATE ... SET ... WHERE 修改表中已有记录
删除数据 DELETE FROM ... WHERE 删除满足条件的记录
相关推荐
雨辰AI28 分钟前
生产级实测:SpringBoot3 + 达梦数据库接口从 200ms 优化至 20ms 完整调优指南
java·数据库·spring boot·后端·政务
H__Rick1 小时前
C51单片机学习-DAY3
单片机·学习·mongodb
凡人叶枫1 小时前
Effective C++ 条款39:明智而审慎地使用 private 继承
java·数据库·c++·嵌入式开发
基德爆肝c语言1 小时前
MySQL表的操作
前端·数据库·mysql
GreatSQL1 小时前
gt-checksum v4.0.0 新功能解读系列文章(1):断点续传——大任务中断不再从头跑
mysql
TDengine (老段)1 小时前
TDengine 连接算子 — Inner/Outer/ASOF/Window Join 的实现与使用
大数据·数据库·物联网·哈希算法·时序数据库·tdengine·涛思数据
Keano Reurink2 小时前
搜索API与GSC数据对比:发现数据盲区
数据库·python·数据挖掘
shushangyun_2 小时前
汽车服务行业B2B平台+AI解决方案哪家专业:2026年最新测评
java·运维·网络·数据库·人工智能·汽车
yoothey2 小时前
异常学习笔记:为什么自定义异常后还要 throw?
笔记·学习
大黄说说2 小时前
深入理解 Go 协程 Goroutine:并发编程的核心精髓
java·数据库·python