MySQL 基本查询实战:增删改查与聚合分组详解
在数据库操作中,数据的增删改查(CRUD)是最核心的部分。今天我们就来深入聊聊 MySQL 如何通过语句对数据进行查询和处理,顺便把一些容易踩的坑也捋一捋。
创建与替换数据
通常我们说的'创建'在 DML 层面主要指插入数据。除了常见的 INSERT,还有一个 REPLACE 关键字值得注意。
它的用法和 INSERT 很像,但行为不同:如果主键或唯一索引冲突,它会先删除旧记录再插入新记录;如果没有冲突,则直接插入。这意味着受影响的行数可能是 1(直接插入)或 2(删除 + 插入)。

-- 替换示例
REPLACE INTO table_name (col1, col2) VALUES (val1, val2);
查询数据:SELECT 详解
这是最常用的部分。虽然大家平时都用 SELECT * FROM table,但在生产环境中,全列查询并不推荐,因为传输数据量大且可能影响索引效率。
1. 列的选择与别名
我们可以指定列名,也可以进行表达式计算。比如计算总分 chinese + math + english。为了让结果更直观,可以使用 AS 给列起个别名,或者直接跟在字段后面不加 AS。
另外,如果不想看到重复值,加上 DISTINCT 关键字即可去重。

-- 指定列与别名
SELECT name, chinese + math + english AS total_score FROM exam_result;
2. 条件筛选:WHERE
用 WHERE 子句来过滤数据。常用的运算符包括比较符(=, >, <)、逻辑符(AND, OR, NOT)。
对于范围查询,BETWEEN ... AND ... 很方便,它是闭区间。对于多个离散值,IN 比写一堆 OR 更简洁。模糊查询用 LIKE,% 代表任意字符,_ 代表单个字符。
注意: 别名的定义是在 SELECT 阶段,而 WHERE 的执行顺序在 之前。所以。






