数据库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 删除满足条件的记录
相关推荐
白帽小丑4 小时前
# 一次 MySQL DELETE 误操作的数据恢复尝试实录
数据库·mysql
Dxy12393102165 小时前
MySQL索引完整教程:创建、查看、修改、删除与日常管理
前端·javascript·mysql
Quincy_Freak6 小时前
信创内网数据规范实践:银河麒麟下SQLite本地数据安全管理方案
数据库·sqlite·arm·数据库管理·大数据分析·银河麒麟·aarch64
至乐活着7 小时前
MySQL索引底层原理与查询优化实战:从B+树到执行计划
mysql·b+树·查询优化·sql性能·索引原理
茯苓gao8 小时前
嵌入式开发笔记:CANopen相关移位运算与通信协议术语详解
网络·嵌入式硬件·学习·信息与通信
2601_962683898 小时前
治理遗留系统中的“生肉 SQL”:一次用多模型协作优化慢查询的实战复盘
数据库·人工智能·sql
酱学编程9 小时前
【从零到一实现一个 AI Agent 框架 · 第四篇】04. 任务规划:拆解复杂目标 -
服务器·网络·数据库·人工智能
shushangyun_10 小时前
2026智能采购商城系统选型指南:如何引领企业数字化采购升级
java·大数据·数据库·人工智能·机器学习
华山令狐虫11 小时前
DBAPI AI 写 SQL:支持动态 SQL 与参数占位符,自然语言一键生成
数据库·人工智能·sql·dbapi
HERR_QQ11 小时前
强化学习的数学原理 学习笔记
人工智能·笔记·学习·自动驾驶