delete table 和 truncate table
使用delete语句删除数据的一般语法格式:
delete [from] {table_name、view_name} [where<search_condition>]
将表中的所有行数据删除,执行完后,发现表中的数据都删除了,但是表的结构什么都还在。
truncate
truncate table语句将删除指定表中所有数据,因此也称其为清除表数据语句,一般格式如下
truncate table name
由于truncate语句将删除表中的所有数据,且无法恢复。
TRUNCATE TABLE执行速度比DELETE块,且使用的系统和事务日志资源少。DELETE语句每次删除一行,
并在事务日志中为所删除的每行记录一项。而TRUNCATE TABLE通过释放存储表数据所用的数据页来删
除数据,并且只在事务日志中记录页的释放。
对于有外键约束引用的表,不能使用TRUNCATE TABLE删除数据,而应该使用不带WHERE子句的DELETE
语句。另外TRUNCATE TABLE也不能用于参与了索引视图的表。