最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
MySQL数据库CRUD增删改查实操详解:附可直接运行示例
时间:2026-07-26 16:17:48 编辑:袖梨 来源:一聚教程网
前言
CRUD是MySQL最基础、最常用的核心操作,对应插入(Create)、查询(Read)、修改(Update)、删除(Delete),也是新手入门MySQL的第一个实操重点。

很多新手刚学的时候,要么语句写错、要么条件遗漏,导致操作失败。这篇文章全程用「可直接复制运行」的示例,手把手教你CRUD每一步,搭配避坑提示,新手也能零错误上手。
先准备测试表(所有示例均基于此表,复制即可创建):
-- 创建测试表:user(用户表)CREATE TABLE user ( id INT PRIMARY KEY AUTO_INCREMENT, -- 自增主键 name VARCHAR(20) NOT NULL, -- 用户名(非空) age INT, -- 年龄 gender TINYINT, -- 性别(1=男,2=女) email VARCHAR(50) UNIQUE, -- 邮箱(唯一) create_time DATETIME DEFAULT NOW() -- 创建时间(默认当前时间));
一、插入操作(Create):INSERT
1. 基础插入(指定字段)
最常用、最安全的方式,明确指定要插入的字段,避免字段顺序错乱导致报错。
-- 插入1条数据INSERT INTO user (name, age, gender, email) VALUES ('张三', 20, 1, '[email protected]');-- 插入多条数据(逗号分隔,效率更高)INSERT INTO user (name, age, gender, email) VALUES ('李四', 22, 1, '[email protected]'),('王五', 19, 2, '[email protected]'),('赵六', 21, 1, '[email protected]');2. 简化插入(不指定字段)
需严格按照表中字段顺序插入,且不能遗漏非空字段,不推荐新手使用。
INSERT INTO user VALUES (NULL, '孙七', 23, 2, '[email protected]', DEFAULT);-- 说明:主键自增可填NULL,DEFAULT表示使用字段默认值(此处为当前时间)
插入避坑
- 错误:插入非空字段(如name)时不赋值,会报错;
- 错误:插入唯一字段(如email)时,值重复,会报错;
- 正确:插入前确认非空字段、唯一字段的值合规。
二、查询操作(Read):SELECT
查询是开发中使用频率最高的操作,先掌握基础查询,后续再学进阶用法。
1. 查询所有数据(全表查询)
-- 查用户名、年龄、邮箱SELECT name, age, email FROM user;
2. 查询指定字段
只查需要的字段,避免全表查询浪费性能,推荐使用。
-- 查用户名、年龄、邮箱SELECT name, age, email FROM user;
3. 去重查询(DISTINCT)
当字段有重复值时,只显示唯一值。
-- 查所有不重复的性别SELECT DISTINCT gender FROM user;
三、修改操作(Update):UPDATE
修改表中已存在的数据,必须加WHERE条件,否则会修改全表数据,极其危险!
1. 基础修改(指定条件)
-- 修改张三的年龄为21UPDATE user SET age = 21 WHERE name = '张三';-- 修改王五的邮箱和性别UPDATE user SET email = '[email protected]', gender = 1 WHERE id = 3; -- 用主键作为条件,更精准、更安全
2. 批量修改(谨慎使用)
多条件匹配,批量修改符合条件的数据,务必确认条件无误。
-- 修改所有年龄>20的用户,性别改为1UPDATE user SET gender = 1 WHERE age > 20;
修改避坑
- 错误:忘记加WHERE条件,导致全表数据被修改;
- 错误:修改唯一字段时,值重复,会报错;
- 正确:修改前先执行SELECT查询,确认条件匹配的是目标数据。
四、删除操作(Delete):DELETE
删除表中数据,同样必须加WHERE条件,否则会删除全表数据,无法恢复(无备份情况下)。
1. 基础删除(指定条件)
-- 删除名字为孙七的用户DELETE FROM user WHERE name = '孙七';-- 删除id为4的用户(主键删除,最安全)DELETE FROM user WHERE id = 4;
2. 批量删除
-- 删除年龄<20的用户DELETE FROM user WHERE age < 20;
3. 清空表(TRUNCATE)
清空全表数据,且重置自增主键(和DELETE删除全表的区别:DELETE不重置自增)。
-- 清空user表所有数据,自增主键从1重新开始TRUNCATE TABLE user;
删除避坑
- 错误:忘记加WHERE条件,删除全表数据;
- 错误:用DELETE清空表后,自增主键不会重置;
- 正确:日常删除用DELETE+WHERE,清空表用TRUNCATE(确认无需保留数据)。
五、CRUD总结
1. 插入:INSERT INTO ... VALUES ...(多数据用逗号分隔);
2. 查询:SELECT 字段 FROM 表名(* 表示所有字段);
3. 修改:UPDATE 表名 SET 字段=值 WHERE 条件(必加WHERE);
4. 删除:DELETE FROM 表名 WHERE 条件(必加WHERE),清空用TRUNCATE。
相关文章
- AI 推理采用本地 + Serverless 混合架构:让敏感数据不出户 算力成本更低 07-26
- 幽默:一个 Github 名字叫马尾辫 但是他给你省了 80% 的 token 07-26
- 安卓苹果云手机别乱买 2026选错直接多花冤枉钱 07-26
- 小评语:一线教师期末减负法宝 07-26
- 10分钟一篇原创公众号:这个助理真的香! 07-26
- hbase日志能否用于性能调优 07-26