数据库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 删除满足条件的记录
相关推荐
余槐i9 小时前
PostgreSQL 函数索引报错 must be immutable:3种绕法与代价
数据库·后端·sql·postgresql·性能优化
数据库小学妹9 小时前
PostgreSQL表膨胀怎么办?autovacuum清不动的根因与排查命令
数据库·postgresql·表膨胀·mvcc·数据库运维
mister_guo9 小时前
MySQL-1267错误:排序规则冲突的原因与解决方案
数据库·mysql
骇客野人10 小时前
在麒麟操作系统上 分别安装 jdk1.8, 达梦数据库,redis ,memcache 的操作实施方案和步骤
数据库·redis·memcached
遇印记10 小时前
传输层,网络层
运维·服务器·网络·windows·学习
clorinda11 小时前
PyQt5学习:从界面搭建到与机器学习实战
学习
美狐美颜SDK开放平台11 小时前
直播APP如何实现美白滤镜功能?视频美颜SDK技术开发方案详解
前端·数据库·人工智能·音视频·美颜sdk·直播美颜sdk·视频美颜sdk
Lost_the_wind11 小时前
MySQL学习笔记五
mysql
花间相见13 小时前
【计算基础|MySQL01】【上手】安装连接、数据类型与建库建表
数据库·后端
花间相见13 小时前
【计算基础|MySQL02】【上手】SQL 增删改查
数据库·后端