MySQL中Delete和Truncate区别
一、清空表语句
truncate table [表名] ; delete from [表名] where …;
二、相同点
两者都是删除表数据 但不会删除表结构
三、不同点
- delete支持按条件删除,truncate不支持。
- delete 删除后自增列不会重置,而truncate会被重置。
- delete是逐条删除(速度较慢),truncate是整体删除(速度较快)。
- delete删除是一条一条删除,并不会改变表结构,属于DML,而truncate删除表数据是将表删掉,重新新建一张表,属于DDL。
- delete不会释放空间,而truncate会释放空间。
- delete 支持回滚,truncate不支持。
本文来自博客园,作者:业余砖家,转载请注明原文链接:https://www.cnblogs.com/yeyuzhuanjia/p/16848505.html

浙公网安备 33010602011771号