MySQL-DML——删除语句

一、方式一:delete

1、单表的删除

语法:

delete from 表名 【where 筛选条件】【limit 删除条数】;

eg1.删除手机号最后一位为9的女生信息

DELETE FROM beauty WHERE phone LIKE '%9';

2、多表的删除

语法(sql92):

delete 要删除的表的别名

from 表1 别名1,表2 别名2

where 连接条件

and 筛选条件;

语法(sql92):

delete 要删除的表的别名

from 表1 别名

inner / left / right / join 表2 别名

on 连接条件

where 筛选条件

eg1.删除段誉的女朋友的信息

DELETE b
FROM beauty AS b
INNER JOIN boys AS bo
ON b.`boyfriend_id`=bo.`id`
WHERE bo.`boyName`='段誉';

二、方式一:truncate

语法:

truncate table 表名;

不能添加筛选条件,只能一个表全部删除

#两种删除方式比较

【⭐经典面试题】

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

2、truncate删除效率更高

3、假如要删除的表中有自增长列,

     如果使用delete删除后,再插入数据,自增长列的值从断点开始;

     如果使用truncate删除后,再插入数据,自增长列的值从1开始

4、truncate删除没有返回值,delete删除有返回值

  eg.TRUNCATE TABLE boys;    #不返回受影响的行数 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值