MySQL 增删改查(CRUD)零基础学习文档
一、前言
增删改查是数据库最核心的基础操作,缩写为 CRUD:
• C:Create(新增数据)
• R:Read(查询数据)
• U:Update(修改数据)
• D:Delete(删除数据)
先创建测试表(复制直接运行)
-- 创建用户表(后续所有增删改查都用这张表) CREATE TABLE user ( id INT PRIMARY KEY AUTO_INCREMENT, -- 主键,自增 name VARCHAR(20) NOT NULL, -- 姓名,非空 age INT, -- 年龄 gender CHAR(1), -- 性别(男/女) address VARCHAR(50) -- 地址 ); |
|---|
二、增(Create):插入数据
1. 全字段插入
-- 语法:INSERT INTO 表名 VALUES(值1,值2,值3...); INSERT INTO user VALUES(1,'张三',20,'男','北京市'); |
|---|
2. 指定字段插入(推荐)
-- 语法:INSERT INTO 表名(字段1,字段2...) VALUES(值1,值2...); INSERT INTO user(name,age,gender,address) VALUES('李四',22,'女','上海市'); |
|---|
3. 批量插入(效率最高)
-- 语法: INSERT INTO user(name,age,gender,address) VALUES ('王五',25,'男','广州市'), ('赵六',19,'女','深圳市'), ('孙七',23,'男','杭州市'); |
|---|
三、查(Read):查询数据(最常用)
1. 查询所有数据
-- 语法: SELECT * FROM user; -- * 代表所有字段 |
|---|
2. 查询指定字段
-- 语法: SELECT name,age,address FROM user; |
|---|
3. 条件查询(WHERE)
-- 语法: 查询年龄=20的用户 SELECT * FROM user WHERE age=20 |
|---|
4. 排序查询(ORDER BY)
-- 语法: 按年龄升序(ASC 升序,DESC 降序) SELECT * FROM user ORDER BY age ASC; |
|---|
5. 分页查询(LIMIT)
-- 语法: 从第0条开始,查2条数据 SELECT * FROM user LIMIT 0,2; |
|---|
6. 统计数量(COUNT)
-- 语法: 查询总用户数 SELECT COUNT(*) FROM user; |
|---|
四、改(Update):修改数据
1. 按条件修改(必须加 WHERE,否则全表修改!)
-- 语法: 把 id=1 的用户年龄改成 21 UPDATE user SET age=21 WHERE id=1; -- 同时修改多个字段 UPDATE user SET age=26,address='成都市' WHERE name='王五'; |
|---|
⚠ 重要警告
修改必须加 WHERE 条件,否则会把整张表的数据全部修改!
五、删(Delete):删除数据
1. 按条件删除
-- 语法: 删除 id=5 的用户 DELETE FROM user WHERE id=5; |
|---|
2. 删除所有数据(谨慎使用)
-- 语法: DELETE FROM user; -- 清空表,但自增 id 继续计数 TRUNCATE TABLE user; -- 彻底清空,重置自增 id |
|---|
⚠ 重要警告
删除必须加 WHERE 条件,否则会清空整张表!
六、常用运算符总结
| 符号 | 含义 |
|---|---|
| = | 等于 |
| 大于 | |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于等于 |
| != | 不等于 |
| AND | 并且 |
| OR | 或者 |
| LIKE | 模糊匹配 |
七、完整练习流程(新手必做)
| -- 语法: 1. 插入数据 INSERT INTO user(name,age,gender,address) VALUES('小明',20,'男','北京市'); -- 2. 查询数据 SELECT * FROM user; -- 3. 修改数据 UPDATE user SET age=21 WHERE name='小明'; -- 4. 删除数据 DELETE FROM user WHERE age>30; |
|---|
总结
1. 增:INSERT INTO 表名(字段) VALUES(值)
2. 查:SELECT 字段 FROM 表名 WHERE 条件
3. 改:UPDATE 表名 SET 字段=值 WHERE 条件(必须加 WHERE)
4. 删:DELETE FROM 表名 WHERE 条件(必须加 WHERE)