【数据库初阶】SQL--DML


更多数据库MySQL系统内容就在以下专栏:
专栏链接:数据库MySQL


DML

1. 基本介绍

DML英文全称是Data Mainipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改操作。

三大关键字:

  • 添加数据:INSERT
  • 修改数据:UPDATE
  • 删除数据:DELETE

2. 添加数据

  1. 给指定字段添加数据
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> 
  1. 给全部字段添加数据
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> 
  1. 批量添加数据
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: 0

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> 

注意:

  • 插入数据时, 指定的字段顺序需要与值的顺序时一一对应的。
  • 字符串和日期型数据应该包含在引导中。
  • 插入的数据大小,应该在字段的规定范围内。

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: 0

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 |
|  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: 0

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 |
|  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: 0

mysql> 
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 set

mysql> 
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

论迹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值