在MYSQL中,delete 、truncate、drop区别介绍

原文连接

    https://www.cnblogs.com/zhizhao/p/7825469.html

# ========================================

@ sunRainAmazing


语法格式

delete from 表名  where  where_condition

truncate table  表名

drop table 表名

 

在速度上,一般来说,drop> truncate > delete


注意事项

1、TRUNCATE 只能对TABLE

2、DELETE可以是tableview

3、TRUNCATE DELETE只删除数据, DROP则删除整个表(结构和数据)。

4、TRUNCATE 对于外键(foreignkey )约束引用的表,不能使用 truncate table,而应使用不带 where 子句的 delete 语句。

5、TRUNCATE DDL,会隐式提交,所以,不能回滚,不会触发触发器。


Truncate

Truncate table 表名 速度快,而且效率高,

因为

truncate table 在功能上与不带 WHERE 子句的 DELETE 语句相同:

二者均删除表中的全部行。

 TRUNCATE TABLE  DELETE 速度快,且使用的系统和事务日志资源少。

DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。

TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。 









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值