删除表 (truncate 、delete 、drop)
来源:http://www.cnblogs.com/dieyaxianju/p/7238936.html
删除表中内容分为三种情况。
1、删除表中所有数据,但保留表结构(可用以下两个语句):
truncate table 表名;
delete from 表名;
2、删除表中部分数据:
delete from 表名 where 条件;
3、删除表结构及数据:
drop table 表名;
区别:
truncate table 在功能上与不带 where子句的 delete 语句相同:二者均删除表中的全部行。但truncate 比 delete 速度快,且使用的系统和事务日志资源少。 delete 语句每次删除一行,并在事务日志中为所删除的每行记录一项。
truncate table 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
truncate,delete,drop放在一起比较:
truncate table:删除内容、释放空间但不删除定义。
delete table:删除内容不删除定义,不释放空间。
drop table:删除内容和定义,释放空间