
在数据库操作中,表的增删查改(CRUD)是最核心的功能。今天我们将深入探讨 MySQL 如何通过语句对数据进行查询、更新和删除,并重点讲解聚合函数与分组的使用。
一、Create(替换插入)
对于 CREATE 操作,我们通常使用 INSERT 语句。这里补充一个 REPLACE 的用法,它常用于处理主键冲突的情况。


使用 REPLACE 时会有两种情况:
- 1 row affected:表中没有冲突数据,直接插入。
- 2 row affected:表中有冲突数据,先删除旧数据再插入新数据。
第一张图插入的数据不存在于表中,所以直接插入;第二张图中 sn = 20001 与现有数据冲突,触发了删除后重新插入的逻辑。
二、Retrieve(读取查询)
SELECT 是查询的核心。除了基础的 FROM 和 WHERE,它还支持多种选项来灵活处理数据。
2.1 SELECT 列
2.1.1 全列查询
SELECT * FROM exam_result;
虽然可以用 * 查询所有列,但不建议在生产环境频繁使用。原因有二:一是传输数据量大,影响性能;二是可能干扰索引的使用。练习或数据量小时可以使用。
2.1.2 指定列查询
只查询特定字段,用逗号分隔多列即可:
SELECT name, english FROM exam_result;
2.1.3 查询字段为表达式
SELECT 不仅能写列名,还能写表达式。例如计算总成绩:
SELECT chinese + math + english AS total_score exam_result;


