数据库操作里,增删查改(CRUD)是最基础的,但也是最容易踩坑的地方。很多初学者背熟了语法,一到实际场景就报错。今天咱们不整虚的,直接过一遍 MySQL 表操作的核心逻辑和常见陷阱。
提示:SQL 关键字的执行顺序其实和书写顺序不一样,理解这个对调试查询很有帮助。 from > on > join > where > group by > with > having > select > distinct > order by > limit
一、建表与插入
1. 基本创建
创建表时,字段类型和约束条件是关键。比如要存学生信息,得有学号(主键)、姓名、电话(唯一)。
CREATE TABLE student (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
phone VARCHAR(20) UNIQUE NOT NULL
);
注意 AUTO_INCREMENT 会让主键自动增长,NOT NULL 防止空值,UNIQUE 保证电话不重复。
2. 插入数据
单行全列插入最简单,不写字段名默认按定义顺序;指定列插入更灵活,适合只更新部分字段。
-- 全列插入
INSERT INTO student (name, phone) VALUES ('张三', '13800138000');
-- 多行插入
INSERT INTO student (name, phone) VALUES
('李四', '13900139000'),
('王五', '13700137000');
遇到主键冲突怎么办?可以用 ON DUPLICATE KEY UPDATE 实现'存在则更新,不存在则插入'的效果。
INSERT INTO student (id, name, phone)
VALUES (1, '赵六', '13600136000')
ON DUPLICATE KEY UPDATE name = VALUES(name), phone = VALUES(phone);


