小白终是踏上了这条不归路----小文的mysql学习笔记(12)----删除语句的两种方式以及他们的比较

**
小白终是踏上了这条不归路----小文的mysql学习笔记(1)

小白终是踏上了这条不归路----小文的mysql学习笔记(2)----条件查询

小白终是踏上了这条不归路----小文的mysql学习笔记(3)----排序询查

小白终是踏上了这条不归路----小文的mysql学习笔记(4)----常见的基本函数

小白终是踏上了这条不归路----小文的mysql学习笔记(5)----分组查询


小白终是踏上了这条不归路----小文的mysql学习笔记(目录)
**
昨天才出太阳,今天就又下雨了唉,

方式一: delete

语法:
1、单表的删除[★]
                 delete from表名where 筛选条件
2、多表的删除[补充]
sq192语法:   delete表1的别名,表2的别名
                     from 表1别名,表2别名
                     where连接条件
                     and 筛选条件;
sq199语法:   delete表1的别名,表2的别名
                     from表1别名
                     inner/left/right join 表2别名on连接条件
                     where 筛选条件;|

那我们先来做个单表删除的栗子:
删除姓周的女神的信息
在这里插入图片描述
便是把所有姓周的女神的信息全部删了。

首先我们先来看看两张表内的数据哈哈哈这是上一节做了插入数据之后的表可能有点奇怪
beauty表
在这里插入图片描述
然后是boys表:
在这里插入图片描述
然后我们再举两个多表删除的栗子:用到连接条件
这下我们要删除小文的所有女朋友的信息
在这里插入图片描述
在这里插入图片描述
说明有五条数据被删除了,那么现在我们再看beauty表
在这里插入图片描述
便是删的只剩了9行。

上一个栗子我们只删了一个表的信息,那么接下来我们将两个表连接起来,两个表的信息斗山来做一个栗子:删除张无忌和他女朋友的所有信息。
在这里插入图片描述
在这里插入图片描述
那便是删去了老张的两个女朋友的信息和他自己了(唉,我可怜的老张哈哈哈)

方式二: truncate

语法:
     trruncate table 表名;

该方式直接删除表的整张数据,不能添加where筛选条件

比较deletetruncate两种删除方式

  1. delete 后面可以添加where条件,而truncate不能加
  2. 当删除整张表时,truncate删除效率较高
  3. 假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,而truncate删除后,再插入数据,自 增日列的值从1开始.
  4. truncate删除没有返回值,delete删除有返回值

这里来解释一下这个第三点
我们先再来看看小文的boys表:
在这里插入图片描述
我们先来用delete删除
在这里插入图片描述
共删除了十二行的信息那么现在我们boys表中是没有信息的
在这里插入图片描述
那么我们来插入几个数据
在这里插入图片描述
在这里插入图片描述
因为用delete删除后,再插入数据,自增长列的值从断点开始,所以这里id是从18开始

那我们再来删除一次用truncate
在这里插入图片描述
我们再来插入三个数据
在这里插入图片描述
然后我们再来查看该表的数据
在这里插入图片描述
这就是用truncate删除后,再插入数据,自 增日列的值从1开始.
**

发布了21 篇原创文章 · 获赞 109 · 访问量 7286

猜你喜欢

转载自blog.csdn.net/qq_45948983/article/details/105481157
今日推荐