delete:
- 删除整个表的数据,但是过程是痛苦的(系统一行一行地删,效率比truncate低)或delete table tb where 条件
- 删除内容不删除定义,不释放空间
- 用delete删除数据,然后添加。可以看到添加之后ID表示不连续。(说明delete删除不释放空间)
truncate: - 删除内容、释放内容但不删除定义。
- 与drop不同的是,它只是清空表数据而已,不删除表结构。
drop: - 删除内容和定义,释放空间。
- 把整个表去掉,以后要新增数据是不可能的,除非新增一个表。
truncate与delete比较: - truncate table在功能上与不带WHERE子句的delete语句相同:二者均删除表中的全部行
- truncate比delete速度快,且使用的系统和事务日志资源少。
- truncate操作后的表比Delete操作后的表要快得多
- truncate当表被清空后表和表的索引将重新设置成初始大小,而delete则不能。