SQL truncate 、delete与drop区别,以及一个实际案例

来源:互联网 发布:网络成瘾的原因和影响 编辑:程序博客网 时间:2024/06/08 04:53

drop table xx –xx是数据表的名字

作用:删除内容和定义,释放空间。就是把整个表移除.里面的数据都消失。

truncate table xx

作用:删除内容、释放空间但不删除定义。与drop不同的是,他只是清空表数据而已,不删除表结构。

delete table xx

作用:也是删除整个表的数据,但是逐行删除,或delete table tb where 条件
delete 语句不影响表所占用的 extent,高水线(high watermark)保持原位置不动

一个例子:

用了truncate清空表数据后,重新导入数据。ID字段是自增,但删除了id<=37的以前太旧的数据。后面再用程序插入数据就是从1开始自增。用了alter sequence table_test restart with 37;解决