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可以是table和view
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 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。