MySQL DML 语句定义及常见用法示例
在掌握了数据库和表的'创建、修改、删除'等结构定义操作(DDL)后,我们进入更核心的学习——DML 语句。它是操作'容器'中数据的关键,学会 DML,你才能真正实现数据的增、删、改、查。
一、什么是 DML?
DML 的全称是 Data Manipulation Language(数据操作语言)。它与 DDL 的核心区别在于:DDL 操作的是'数据库对象的结构',而 DML 操作的是'表中的数据',不改变表的结构本身。
简单来说,DDL 是'建房子',DML 就是'住人、装修'。在 MySQL 中,DML 语句的核心作用是对表中的数据进行增、删、改、查。
这里有一个新手容易混淆的知识点:严格来说,'查询数据'的 SELECT 语句属于 DQL(Data Query Language),但在很多书籍、教程以及面试中,SELECT 语句通常会被包含在 DML 的范畴中,本文统一按这个习惯讲解。
常见的 DML 操作及对应 SQL 语句如下:
| 操作类型 | SQL 语句 | 说明 |
|---|---|---|
| 插入数据 | INSERT | 向表中新增一条或多条数据记录 |
| 更新数据 | UPDATE | 修改表中已存在的数据记录 |
| 删除数据 | DELETE | 删除表中已有的数据记录 |
| 查询数据 | SELECT | 检索表中的数据(严格来说属于 DQL) |
注意:DML 语句执行后不会自动提交事务(可回滚),而 DDL 语句会自动提交事务(不可回滚)。
二、INSERT:插入数据
INSERT 语句是向表中添加新数据的核心语句。
1. 基本语法
最规范、最推荐的插入语法,明确指定要插入的列名和对应的值:
-- 基本语法:INSERT INTO 表名 (列 1, 列 2, ...) VALUES (值 1, 值 2, ...);
-- 注意:列名和值的顺序必须一一对应,数据类型也要匹配
2. 基础示例
以上一章创建的'学生表(student)'为例:
-- 先创建 student 表 CREATE TABLE IF NOT EXISTS student (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT CHECK(age >= 0),
major VARCHAR(100)
);
student (id, name, age, major) (, , , );
student;


