数据库(MySQL)—— DML语句
- 什么是DML语句
- 添加数据
- 给全部字段添加数据
- 批量添加数据
- 修改数据
- 删除数据
什么是DML语句
在MySQL中,DML(Data Manipulation Language,数据操纵语言)语句主要用于对数据库中的数据进行增删改查操作。以下是DML语句的核心组成部分及其基本语法:
- 插入记录(INSERT)
- 用于插入数据
- 更新记录(UPDATE)
- 用于修改表中已存在的数据行。
- 简单查询记录(SELECT)
- 用于从表中检索数据。
- 删除记录(DELETE)
- 用于从表中移除数据行。
DML语句是数据库日常操作中最常用的命令,它们直接作用于数据库中的数据,实现数据的增删改查功能。
添加数据
给指定字段添加数据:
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);
INSERT INTO employees(id,work_id,worker_name,worker_genger,age,identity,entry_date)
values (1,1120,'赵爽','男',23,'513126200200211XXX','2022-3-4');;
这是我们的表结构:
CREATE TABLE employees(-- 编号id INT COMMENT '编号',work_id VARCHAR(10) COMMENT '员工工号',worker_name VARCHAR(10) COMMENT '员工姓名',worker_genger CHAR(1) COMMENT '姓名',age TINYINT UNSIGNED COMMENT '年龄',identity CHAR(18) COMMENT '身份证号',entry_date DATE COMMENT '入职时间'
) COMMENT '员工表';
我们点击employees表,查看表中的数据:
或者我们可以敲代码的方式来实现:
SELECT * FROM employees;
给全部字段添加数据
给全部字段添加数据时,前面的字段可以省略:
INSERT INTO 表名 VALUES (值1, 值2, ...);
比如我可以这样:
INSERT INTO employees values (1,1120,'吴邪','男',22,'513126700800211XXX','2022-4-4');
批量添加数据
批量添加数据,挨着就可以了:
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), (值
1, 值2, ...) ;INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;
比如我可以这样:
INSERT INTO employees values(3,3,'韦一笑','男',38,'123456789012345670','2005-1-1'),(4,4,'赵敏','女',18,'123456789012345670','2005-1-1');
注意事项:
- 插入数据时,指定的字段顺序需要与值的顺序是一一对应的。
- 字符串和日期型数据应该包含在引号中。
- 插入的数据大小,应该在字段的规定范围内。
修改数据
修改数据:
UPDATE 表名 SET 字段名1 = 值1 , 字段名2 = 值2 , .... [ WHERE 条件 ] ;
修改id为1的数据,将worker_name修改为枫原万叶:
-- 修改id为1的数据,将worker_name修改为枫原万叶
UPDATE employees SET worker_name = '枫原万叶' where id = 1;
修改id为1的数据, 将worker_name修改为神里绫华, worker_genger修改为 女:
-- 修改id为1的数据, 将worker_name修改为神里绫华, worker_genger修改为 女
UPDATE employees SET worker_name = '神里绫华',worker_genger = '女' where id = 1;
将所有的员工入职日期修改为 2008-01-01
-- 将所有的员工入职日期修改为 2008-01-01
UPDATE employees SET entry_date = '2008-1-1';
注意事项:
修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据
。
删除数据
删除数据的具体语法为:
DELETE FROM 表名 [ WHERE 条件 ] ;
比如 删除worker_gender为女的员工:
DELETE FROM employees where worker_genger = '女';
删除所有员工:
DELETE FROM employees;
注意事项:
- DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数
据。- DELETE 语句不能删除某一个字段的值(可以使用UPDATE,将该字段值置为NULL即
可)。- 当进行删除全部数据操作时,datagrip会提示我们,询问是否确认删除,我们直接点击Execute即可。