文章目录
- DML
- 1. 基本介绍
- 2. 添加数据
- 3. 修改数据
- 4. 删除数据
更多数据库MySQL系统内容就在以下专栏:
专栏链接:数据库MySQL
DML
1. 基本介绍
DML英文全称是Data Mainipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改操作。
三大关键字:
- 添加数据:
INSERT
- 修改数据:
UPDATE
- 删除数据:
DELETE
2. 添加数据
- 给指定字段添加数据
INSERT INTO 表名(字段名1, 字段名2, ...) VALUES (值1, 值2, ...);
案例:
在emloyee 表中添加一组数据
示例代码:
mysql>
mysql> insert into emloyee (id, workno, name, gender, age, idcard, entrydate) values (1, '1', '张三', '男', 15, '012345678912345678', '2001-01-01');
Query OK, 1 row affected (0.00 sec)mysql>
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard | entrydate |
+----+--------+------+--------+-----+--------------------+------------+
| 1 | 1 | 张三 | 男 | 15 | 012345678912345678 | 2001-01-01 |
+----+--------+------+--------+-----+--------------------+------------+
1 row in set (0.03 sec)mysql>
- 给全部字段添加数据
INSERT INTO 表名 VALUES (值1, 值2, ...);
案例:
在emloyee 表给全部字段添加一组数据
示例代码:
mysql>
mysql> insert into emloyee values(2, '2', '李四', '男', 18, '012345678912345679', '2002-02-02');
Query OK, 1 row affected (0.01 sec)mysql>
mysql>
mysql>
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard | entrydate |
+----+--------+------+--------+-----+--------------------+------------+
| 1 | 1 | 张三 | 男 | 15 | 012345678912345678 | 2001-01-01 |
| 2 | 2 | 李四 | 男 | 18 | 012345678912345679 | 2002-02-02 |
+----+--------+------+--------+-----+--------------------+------------+
2 rows in set (0.04 sec)mysql>
- 批量添加数据
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...),(值1, 值2, ...);
INSERT INTO 表名 VALUES(值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...);
案例:
在emlyee 表中,批量添加两条数据。
示例代码:
mysql>
mysql> insert into emloyee (id, workno, name, gender, age, idcard, entrydate) values (3,'3', '王五', '男', 13, '012345678901234567', '2003-03-03'),(4, '4', '哈哈', '男', 14, '012345678912345689', '2004-04-04');
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0mysql>
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard | entrydate |
+----+--------+------+--------+-----+--------------------+------------+
| 1 | 1 | 张三 | 男 | 15 | 012345678912345678 | 2001-01-01 |
| 2 | 2 | 李四 | 男 | 18 | 012345678912345679 | 2002-02-02 |
| 3 | 3 | 王五 | 男 | 13 | 012345678901234567 | 2003-03-03 |
| 4 | 4 | 哈哈 | 男 | 14 | 012345678912345689 | 2004-04-04 |
+----+--------+------+--------+-----+--------------------+------------+
4 rows in set (0.04 sec)mysql>
注意:
- 插入数据时, 指定的字段顺序需要与值的顺序时一一对应的。
- 字符串和日期型数据应该包含在引导中。
- 插入的数据大小,应该在字段的规定范围内。
3. 修改数据
基本语法:
UPDATE 表名 SET 字段名1=值1, 字段名2=值2, ...[WHERE条件];
注意:
修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
案例1:
修改id为1的数据,将name 修改为嘿嘿。
示例代码:
mysql>
mysql> update emloyee set name='嘿嘿' where id=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0mysql>
mysql>
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard | entrydate |
+----+--------+------+--------+-----+--------------------+------------+
| 1 | 1 | 嘿嘿 | 男 | 15 | 012345678912345678 | 2001-01-01 |
| 2 | 2 | 李四 | 男 | 18 | 012345678912345679 | 2002-02-02 |
| 3 | 3 | 王五 | 男 | 13 | 012345678901234567 | 2003-03-03 |
| 4 | 4 | 哈哈 | 男 | 14 | 012345678912345689 | 2004-04-04 |
+----+--------+------+--------+-----+--------------------+------------+
4 rows in set (0.04 sec)mysql>
案例2:
修改id为1的数据,将name 修改为小马,gender 修改为 女。
示例代码:
ysql>
mysql> update emloyee set name = '小马', gender = '女' where id=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0mysql>
mysql>
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard | entrydate |
+----+--------+------+--------+-----+--------------------+------------+
| 1 | 1 | 小马 | 女 | 15 | 012345678912345678 | 2001-01-01 |
| 2 | 2 | 李四 | 男 | 18 | 012345678912345679 | 2002-02-02 |
| 3 | 3 | 王五 | 男 | 13 | 012345678901234567 | 2003-03-03 |
| 4 | 4 | 哈哈 | 男 | 14 | 012345678912345689 | 2004-04-04 |
+----+--------+------+--------+-----+--------------------+------------+
4 rows in set (0.05 sec)mysql>
案例3:
将所有的员工入职日期修改为 2020-05-20。
示例代码:
mysql>
mysql> update emloyee set entrydate='2020-05-20';
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4 Changed: 4 Warnings: 0mysql>
mysql>
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard | entrydate |
+----+--------+------+--------+-----+--------------------+------------+
| 1 | 1 | 小马 | 女 | 15 | 012345678912345678 | 2020-05-20 |
| 2 | 2 | 李四 | 男 | 18 | 012345678912345679 | 2020-05-20 |
| 3 | 3 | 王五 | 男 | 13 | 012345678901234567 | 2020-05-20 |
| 4 | 4 | 哈哈 | 男 | 14 | 012345678912345689 | 2020-05-20 |
+----+--------+------+--------+-----+--------------------+------------+
4 rows in set (0.04 sec)mysql>
4. 删除数据
基本语法:
DELETE FROM 表名[WHERE 条件];
注意:
- DELETE语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
- DELETE语句不能删除某一个字段的值(可以使用UPDATE删除某一个字段的值,将其置为NULL即可)。
案例1:
删除 gender 为女的员工。
示例代码:
mysql>
mysql> delete from emloyee where gender='女';
Query OK, 1 row affected (0.00 sec)mysql>
mysql>
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard | entrydate |
+----+--------+------+--------+-----+--------------------+------------+
| 2 | 2 | 李四 | 男 | 18 | 012345678912345679 | 2020-05-20 |
| 3 | 3 | 王五 | 男 | 13 | 012345678901234567 | 2020-05-20 |
| 4 | 4 | 哈哈 | 男 | 14 | 012345678912345689 | 2020-05-20 |
+----+--------+------+--------+-----+--------------------+------------+
3 rows in set (0.04 sec)mysql>
案例2:
删除所有员工
示例代码:
mysql> delete from emloyee;
Query OK, 3 rows affected (0.01 sec)mysql>
mysql>
mysql>
mysql> select * from emloyee;
Empty setmysql>