一、Create(数据插入与替换)
对于 CREATE 操作,最常用的是 INSERT 语句。除了基础插入,我们还需要了解 REPLACE 的用法。
1.1 替换逻辑
使用 REPLACE 时,系统会先检查主键或唯一索引是否存在冲突:
- 无冲突:直接执行插入,返回
1 row affected。 - 有冲突:先删除旧记录,再插入新记录,返回
2 row affected。
-- 示例:插入数据,若存在主键冲突则触发替换逻辑
REPLACE INTO table_name (col1, col2) VALUES (val1, val2);
二、Retrieve(数据读取)
SELECT 是查询的核心。完整的语法结构包含多个子句,下面按功能模块逐一解析。
2.1 SELECT 列
2.1.1 全列查询
虽然可以使用 SELECT * FROM table_name 获取所有字段,但在生产环境中不建议这样做。原因有二:一是传输数据量过大影响性能;二是可能阻碍索引的使用。仅在测试或少量数据场景下使用。
2.1.2 指定列查询
明确指定需要的列名,用逗号分隔:
SELECT name, english FROM exam_result;
2.1.3 表达式查询
SELECT 后面不仅可以跟列名,还可以跟表达式。例如计算总分或进行数值运算:
SELECT chinese + math + english AS total_score FROM exam_result;
2.1.4 结果别名
为了提升可读性,建议使用 AS 为计算列起别名:
SELECT chinese + math + english AS total FROM exam_result;
注意:AS 关键字可以省略,直接写 total 也是合法的。
2.1.5 结果去重
如果查询结果中存在重复值,可使用 DISTINCT 关键字去除:
SELECT DISTINCT math FROM exam_result;


