MySQL基础-12 DML语言-删除

本文详细介绍了SQL中的DML语句用于删除数据的两种方法:DELETE和TRUNCATE。通过实例解析了单表及多表删除的语法,并展示了具体的应用场景,如删除特定条件的数据记录。同时,总结了DELETE与TRUNCATE的区别,包括是否支持WHERE条件、执行效率、对自增列的影响以及是否可回滚等关键点。
摘要由CSDN通过智能技术生成

DML语言-删除

1 语法

方式一:delete

  1. 单表删除
    语法:
    delete from table_name where 筛选条件

  2. 多表的删除
    sql92
    delete 表1的别名,表2的别名
    from 表1 别名,表2 别名
    where 连接条件
    and 筛选条件;

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

方式二:truncate
truncate table 表名;

2 案例

  1. 删除手机号以9结尾的女神信息
delete from beauty where phone like '%9';

2.多表删除-删除张无忌女朋友的信息

delete b
from beauty b
inner join boys bo on b.boyfriend_id=bo.id
where bo.boyName='张无忌';
  1. 删除黄晓明的信息以及他女朋友的信息
delete b,bo
from beauty b
inner join boys bo on b.boyfriend_id=bo.id
where bo.boyName='黄晓明';
  1. 使用 truncate - 不能使用where (清空表)

3 总结

delete 和 trumcate 对比

  1. delete 可以加where t条件,truncate 不能加
  2. truncate 删除,效率高一些
  3. 加要删除的表中有自增长列,如果用delete删除后,在插入数据,自增长列的值从断点开始,而 truncate 删除后,再插入数据,自增长列的值从1开始。
  4. delete 删除有返回值,truncate 删除没有返回值
  5. delete 删除可以回滚,truncate 删除不能回滚
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值