作为一名 IT 人,数据库操作是必备技能,而 MySQL 作为流行的关系型数据库之一,其增删改查(CRUD)更是基础中的基础。无论你是刚接触数据库的小白,还是想要巩固知识的老手,本文都能让你对 MySQL 的 CRUD 操作有更深入的理解。接下来,我就通过实际案例和代码演示,带你轻松玩转 MySQL 的增删改查!
一、创建测试表
在开始增删改查之前,我们先创建一个简单的测试表。这里以创建一个存储学生信息的表students为例,表中包含学生的id(主键,唯一标识每个学生)、name(学生姓名)、age(学生年龄)和gender(学生性别)字段。
CREATE TABLE students
(id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT,
gender ENUM('男', '女'));
执行上述代码后,我们就成功创建好了students表。在 MySQL 的图形化工具(如 Navicat、DBeaver 等)或命令行中查看数据库表结构,就能看到刚刚创建的students表及其字段信息。
二、插入数据(Create)
插入数据是往表中添加新记录的操作,在 MySQL 中有多种插入方式,下面逐一介绍。
1. 插入单条记录
使用INSERT INTO语句插入单条记录,语法为:INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...)。例如,往students表中插入一条学生记录:
INSERT INTO students (name, age, gender) VALUES ('张三', 20, '男');
执行成功后,我们可以使用后续要讲到的查询语句来验证数据是否插入成功。在 MySQL 命令行或图形化工具中执行以下查询语句:
SELECT * FROM students;
执行结果如下:
|
id |
name |
age |
gender |
|
1 |
张三 |
20 |
男 |
2. 插入多条记录
一次插入多条记录可以提高效率,语法为:INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...), (值3, 值4, ...), ...。比如,再插入两条学生记录:
INSERT INTO students (name, age, gender) VALUES
('李四', 22, '男'),
('王五', 20, '女');
再次执行查询语句SELECT * FROM students;,结果如下:
|
id |
name |
age |
gender |
|
1 |
张三 |
20 |
男 |
|
2 |
李四 |
22 |
男 |
|
3 |
王五 |
20 |
女 |
三、查询数据(Read)
查询数据是从表中获取所需信息的操作,是使用频率非常高的操作,MySQL 提供了强大且灵活的查询功能。
1. 查询所有记录
使用SELECT * FROM 表名语句可以查询表中的所有记录,我们前面已经使用过,例如:
SELECT * FROM students;
结果就是我们刚刚插入的三条学生记录。
2. 查询指定字段
如果我们只想获取部分字段的信息,可以指定字段名称,语法为:SELECT 字段1, 字段2, ... FROM 表名。比如,只查询学生的姓名和年龄:
SELECT name, age FROM students;
执行结果:
|
name |
age |
|
张三 |
20 |
|
李四 |
22 |
|
王五 |
20 |
3. 使用 WHERE 子句过滤数据
WHERE子句用于筛选符合条件的记录,语法为:SELECT 字段1, 字段2, ... FROM 表名 WHERE 条件。例如,查询年龄大于 20 岁的学生:
SELECT * FROM students WHERE age > 20;
执行结果:
|
id |
name |
age |
gender |
|
2 |
李四 |
22 |
男 |
4. 使用 ORDER BY 子句排序
ORDER BY子句用于对查询结果进行排序,默认是升序(ASC),也可以指定降序(DESC),语法为:SELECT 字段1, 字段2, ... FROM 表名 ORDER BY 字段名 [ASC|DESC]。比如,按年龄降序查询学生信息:
SELECT * FROM students ORDER BY age DESC;
执行结果:
|
id |
name |
age |
gender |
|
2 |
李四 |
22 |
男 |
|
1 |
张三 |
20 |
男 |
|
3 |
王五 |
20 |
女 |
四、更新数据(Update)
更新数据是修改表中已有记录的操作,使用UPDATE语句,语法为:UPDATE 表名 SET 字段1 = 值1, 字段2 = 值2, ... WHERE 条件。如果不使用WHERE子句,会更新表中的所有记录,这是非常危险的操作,一定要谨慎使用!
例如,将id为 1 的学生年龄改为 22 岁:
UPDATE students SET age = 22 WHERE id = 1;
执行查询语句SELECT * FROM students;查看更新后的结果:
|
id |
name |
age |
gender |
|
1 |
张三 |
22 |
男 |
|
2 |
李四 |
22 |
男 |
|
3 |
王五 |
20 |
女 |
五、删除数据(Delete)
删除数据是从表中移除记录的操作,使用DELETE FROM语句,语法为:DELETE FROM 表名 WHERE 条件。同样,如果不使用WHERE子句,会删除表中的所有记录。
例如,删除id为 3 的学生记录:
DELETE FROM students WHERE id = 3;
执行查询语句SELECT * FROM students;查看删除后的结果:
|
id |
name |
age |
gender |
|
1 |
张三 |
22 |
男 |
|
2 |
李四 |
22 |
男 |
以上就是 MySQL 增删改查的基础操作,通过这些操作,我们可以对数据库中的数据进行有效的管理和处理。在实际开发中,这些操作会和业务逻辑紧密结合,发挥更大的作用。如果你还有任何疑问,或者想了解更多 MySQL 的高级用法,欢迎在评论区留言讨论!
编辑推荐:
- 一文搞懂 MySQL 增删改查:从入门到实战03-01
- 深度解析 MySQL 进阶查询:从子查询优化到窗口函数实战03-01
- 活动中台系统慢 SQL 治理实践03-01
- MySQL 常用快捷方式全解析:提升数据库操作效率03-01
- MySQL 索引:从概念到实战的全面解析03-01
- MySQL 定时器实战:从入门到进阶03-01
- MySQL 卡死进程?这几招轻松解决03-01
- MySQL主流高可用架构的核心对比及适用场景分析03-01
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 活动中台系统慢 SQL 治理实践
活动中台系统慢 SQL 治理实践
26-03-01 - MySQL 常用快捷方式全解析:提升数据库操作效率
MySQL 常用快捷方式全解析:提升数据库操作效率
26-03-01 - MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
- MySQL企业版免费开启,强先体验
MySQL企业版免费开启,强先体验
26-03-01 - MySQL大结果集的优化思路
MySQL大结果集的优化思路
26-03-01 - 第37期 MySQL索引下推
第37期 MySQL索引下推
26-03-01 - 一起免费考 MySQL OCP 认证啦
一起免费考 MySQL OCP 认证啦
26-03-01 - 第39期 MySQL给邮箱,身份证类似的字段添加索引的方法
第39期 MySQL给邮箱,身份证类似的字段添加索引的方法
26-03-01 - 数据库管理-第329期 MySQL 30周年生日快乐(20250525)
数据库管理-第329期 MySQL 30周年生日快乐(20250525)
26-03-01 - 第25期 MySQL部分复制
第25期 MySQL部分复制
26-03-01
