代码改变世界

delete和truncate删除的区别

2022-09-01 08:46  猎手家园  阅读(88)  评论(0编辑  收藏  举报

delete:
(1)一行一行的把数据删除,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
(2)delete是数据操作语言(DML)命令。
(3)delete命令不会影响表结构

truncate:
(1)不能加where条件。
(2)先删除表 (drop) ,重新创建(create)表 。因此,若表中有自增长,会把自增长id 重置成1开始。
(3)速度更快 且 不可回滚。
(4)truncate是数据定义语言(DDL)命令。
(5)truncate命令会从数据库中删除表结构。