SQL - DML(数据操作语言)
DML(Data Manipulation Language)用来对表中数据记录做增删改:INSERT 添加、UPDATE 修改、DELETE 删除。查询属于 DQL,不在此列。
| 操作 | 关键字 |
|---|---|
| 添加数据 | INSERT |
| 修改数据 | UPDATE |
| 删除数据 | DELETE |
一、添加数据(INSERT)
-- 1. 给指定字段添加数据
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);
-- 2. 给全部字段添加数据(值的顺序须与表中字段顺序一致)
INSERT INTO 表名 VALUES (值1, 值2, ...);
-- 3. 批量添加数据
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), ...;
INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), ...;
注意
- 指定的字段顺序需要与值的顺序一一对应;
- 字符串和日期型数据要包含在引号中;
- 插入的数据大小应在字段的规定范围内。
二、修改数据(UPDATE)
UPDATE 表名 SET 字段名1 = 值1, 字段名2 = 值2, ...[WHERE 条件];
注意:
WHERE条件可有可无,没有条件就会修改整张表的所有数据。
-- 修改 id 为 1 的姓名
UPDATE employee SET name = '令狐冲' WHERE id = 1;
-- 同时修改姓名和性别
UPDATE employee SET name = '小昭', gender = '女' WHERE id = 1;
-- 不加条件:修改所有员工的入职日期
UPDATE employee SET entrydate = '2008-01-01';
三、删除数据(DELETE)
DELETE FROM 表名 [WHERE 条件];
注意
WHERE条件可有可无,没有条件就会删除整张表的所有数据;DELETE只能删除整行记录,不能删除某一个字段的值(要清空字段值请用UPDATE)。
-- 删除 gender 为 女 的员工
DELETE FROM employee WHERE gender = '女';
-- 删除所有员工
DELETE FROM employee;
四、速查
-- 增
INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);
INSERT INTO 表名 VALUES (值1, 值2, ...);
INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), ...;
-- 改
UPDATE 表名 SET 字段1 = 值1, 字段2 = 值2 [WHERE 条件];
-- 删
DELETE FROM 表名 [WHERE 条件];
相关
- SQL 语法与分类:书写规范 + DDL / DML / DQL / DCL
- SQL - DDL:建库、建表、改表、删表
- MySQL 数据类型:数值 / 字符串 / 日期时间