1. 引言
MySQL 作为最流行的关系型数据库之一,增删查改(CRUD)是日常开发中使用频率最高的操作。本文将从基础语法入手,结合示例讲解 INSERT、SELECT、UPDATE、DELETE 四种核心操作,帮助读者快速掌握 MySQL 数据操作能力。
2. 库与表的基本操作
在开始学习增删查改之前,需要先掌握数据库和表的基本操作,包括创建、查看、修改和删除。
2.1 数据库操作
数据库是存储数据表的容器,下面演示数据库的创建、查看、切换和删除。
— 创建数据库
CREATE DATABASE IF NOT EXISTS demo_db DEFAULT CHARACTER SET utf8mb4;
— 查看所有数据库
SHOW DATABASES;
— 切换数据库
USE demo_db;
— 删除数据库
DROP DATABASE IF EXISTS demo_db;
2.2 创建示例表
下面创建一张用户表,用于后续演示增删查改操作。
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(10),
age INT,
chinese INT,
math INT,
english INT
);
2.3 查看与修改表结构
创建表后,可以通过以下语句查看表结构或修改表定义。
— 查看表结构
DESC students;
— 查看建表语句
SHOW CREATE TABLE students;
— 添加字段
ALTER TABLE students ADD COLUMN phone VARCHAR(20);
— 修改字段类型
ALTER TABLE students MODIFY COLUMN age TINYINT;
— 删除字段
ALTER TABLE students DROP COLUMN phone;
— 删除表
DROP TABLE IF EXISTS students;
2.4 注意事项
- 创建数据库时建议指定 utf8mb4 字符集,以支持中文和表情符号。
- DROP 操作不可逆,执行前务必确认对象名称。
- ALTER TABLE 会锁定表,生产环境大批量修改时需谨慎。
3. 新增数据(INSERT)
INSERT 语句用于向表中插入新记录,是增删查改中的「增」操作。
3.1 插入单条记录
insert into students values(1,'捷风',20,99,96,98);
3.2 插入多条记录
insert into students (name,chinese,math,english)
values ('雷兹',16,88,80,90),
('贤者',12,99,95,100),
('猎枭',27,79,66,30);
3.3 注意事项
- 自增主键 id 无需手动指定,MySQL 会自动生成。
- 插入时字段列表与值列表必须一一对应。
- 非空字段(如 name)必须提供值,否则会报错。
4. 查询数据(SELECT)
SELECT 语句用于从表中检索数据,是增删查改中使用最频繁的操作。
4.1 查询全部字段
SELECT * FROM students;
4.2 查询指定字段
SELECT name, english FROM students;
4.3 条件查询
SELECT * FROM students WHERE age > 25;
4.4 排序与分页
SELECT * FROM students ORDER BY math DESC LIMIT 10;
5. 更新数据(UPDATE)
UPDATE 语句用于修改表中已有记录的数据,是增删查改中的「改」操作。
5.1 更新单条记录
update students set math=math-15 where id=1;
5.2 更新多条记录
UPDATE students SET math = math + 30 ORDER BY math ASC LIMIT 3;
5.3 注意事项
- UPDATE 必须配合 WHERE 条件使用,否则会更新全表数据。
- 建议先使用 SELECT 确认目标记录,再执行 UPDATE。
- 更新操作会触发事务日志,大批量更新时注意性能。
6. 删除数据(DELETE)
DELETE 语句用于删除表中的记录,是增删查改中的「删」操作。
6.1 删除单条记录
DELETE FROM students WHERE id = 1;
6.2 条件删除
DELETE FROM students WHERE math < 60;
6.3 清空表数据
TRUNCATE TABLE students;
6.4 注意事项
- DELETE 必须配合 WHERE 条件使用,否则会清空全表数据。
- TRUNCATE 与 DELETE 的区别:TRUNCATE 重置自增计数且不可回滚,DELETE 可配合事务回滚。
- 删除操作不可逆,执行前务必确认条件。
7. 总结
本文系统讲解了 MySQL 增删查改的四种核心操作:INSERT 负责新增数据,SELECT 负责查询数据,UPDATE 负责更新数据,DELETE 负责删除数据。掌握这些基础语法后,建议结合实际业务多加练习,并注意 WHERE 条件的使用,避免误操作全表数据。



