一、delete
delete from tableName where …
二、TRUNCATE
TRUNCATE table tableName
三、总结
1.一样点:都能够清除表数据,不删除表结构。
2.不同点:
delete支持按条件删除,TRUNCATE不支持。
delete 删除后自增列不会重置,而TRUNCATE会被重置。
delete不会释放空间,而TRUNCATE会释放空间。
delete 支持回滚,TRUNCATE不支持。
本质:由于delete 是数据操作语言(DML – Data Manipulation Language),操作时原数据会被放到 rollback segment中,可以被回滚;而TRUNCATE是数据定义语言(DDL – Data Definition Language),操作时不会进行存储,不能进行回滚。truncate语句实际是删除原来的表然后重新建立一个新表。
另外:drop table tableName 会连整个表结构一起删除。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...