3.MySQL学习笔记第三节——DML语言

本文详细介绍了数据操作语言(DML)的三大基本操作:插入、修改和删除。针对每种操作,文章分别给出了两种不同的语法形式,并通过实例进行解析。在插入语句中,对比了单行与多行插入的差异;在修改语句中,展示了如何更新单表和多表的记录;在删除语句中,讨论了单表删除与清空表数据的区别。此外,还探讨了delete与truncate在使用上的不同点,如是否支持where条件、效率、对自增长列的影响等。
摘要由CSDN通过智能技术生成


一、DML语言基本概念

data manipulation language,数据操作语言。
涉及操作有:
插入:insert
修改:update
删除:delete

二、DML语言具体使用

2.1 插入语句

2.1.1 第一种插入语句

1、语法

insert into 表名(列名,....) values(值1,.....);

2、 实例

(1)
在这里插入图片描述
(2)
在这里插入图片描述
(3)
在这里插入图片描述
(4)
在这里插入图片描述
(5)
在这里插入图片描述

2.1.2 第二种插入语句

1、语法

insert into 表名 set 列名=值,列名=值.....;

2、 实例

在这里插入图片描述

2.1.3 两种插入语句的比较

1、方式一支持插入多行,方式二不支持
在这里插入图片描述
2、方式一支持子查询,方式二不支持
在这里插入图片描述
相当于把查询的结果集插入到原来的表中。
另一个例子:
在这里插入图片描述
相当于把boys表中id<3的,对应id,boyname,phone=1234567的行插入beauty表中。

再来一个,插入多行数据:
在这里插入图片描述

2.2 修改语句

2.2.1 修改单表的记录

1、语法

update 表名 set 列名=新值,列名=新值..... where 筛选条件;

2、 实例

(1)
在这里插入图片描述
(2)
在这里插入图片描述

2.2.2 修改多表的记录(补充)

1、语法

sql92语法(只支持内连):

update 表1 别名,2 别名
set 列=,.....
where 连接条件
and 筛选条件;

sql99语法:

update 表1 别名
inner/left/right join 表2 别名
on 连接条件 
set 列=,.....
where 筛选条件;
2、 实例

(1)
在这里插入图片描述
(2)
在这里插入图片描述

2.3 删除语句

2.3.1 第一种删除语句

1、语法

(1)单表删除

delete from 表名 where 筛选条件;

删除以行为单位。

(2)多表删除

sql92语法(只支持内连):

delete 表1的别名,2的别名
from 表1 别名,2 别名
where 连接条件
and 筛选条件;

sql99语法:

delete 表1的别名,2的别名
from 表1 别名
inner/left/right join 表2 别名
on 连接条件 
where 筛选条件;
2、 实例

(1)
在这里插入图片描述
(2)
在这里插入图片描述
(3)
在这里插入图片描述

2.3.2 第二种删除语句(清空数据)

1、语法

truncate table 表名;

删除以表为单位。

2、 实例

(1)
在这里插入图片描述

2.3.3 两种删除语句的比较

1、delete可以加where条件,truncate不可以。

2、truncate效率稍高。

3、若要删除的表中有自增长列,用delete删除后,再插入数据,自增长列的值从断点开始;用truncate的话,再插入数据,自增长列的值从1开始。

① 之前的表有5项,用delete删除,再插入:
在这里插入图片描述
效果:
在这里插入图片描述
② 同上,用truncate删除,再插入:
在这里插入图片描述
效果:
在这里插入图片描述
4、truncate删除没有返回值,delete有。

5、truncate删除不能回滚,delete可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值