**
小白终是踏上了这条不归路----小文的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 筛选条件
【limit 条目数】
那我们先来做个单表删除的栗子:
删除姓周的女神的信息
便是把所有姓周的女神的信息全部删了。
首先我们先来看看两张表内的数据哈哈哈这是上一节做了插入数据之后的表可能有点奇怪
beauty表:
然后是boys表:
然后我们再举两个多表删除的栗子:用到连接条件
这下我们要删除小文的所有女朋友的信息
说明有五条数据被删除了,那么现在我们再看beauty表
便是删的只剩了9行。
上一个栗子我们只删了一个表的信息,那么接下来我们将两个表连接起来,两个表的信息斗山来做一个栗子:删除张无忌和他女朋友的所有信息。
那便是删去了老张的两个女朋友的信息和他自己了(唉,我可怜的老张哈哈哈)
方式二: truncate
语法:
trruncate table 表名;
该方式直接删除表的整张数据,不能添加where筛选条件
比较delete和truncate两种删除方式
- delete 后面可以添加where条件,而truncate不能加
- 当删除整张表时,truncate删除效率较高
- 假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,而truncate删除后,再插入数据,自 增日列的值从1开始.
- truncate删除没有返回值,delete删除有返回值
- truncate 不可以回滚,delete可以回滚
这里来解释一下这个第三点
我们先再来看看小文的boys表:
我们先来用delete删除
共删除了十二行的信息那么现在我们boys表中是没有信息的
那么我们来插入几个数据
因为用delete删除后,再插入数据,自增长列的值从断点开始,所以这里id是从18开始
那我们再来删除一次用truncate
我们再来插入三个数据
然后我们再来查看该表的数据
这就是用truncate删除后,再插入数据,自 增日列的值从1开始.
**