版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dly1580854879/article/details/73835761
1.TRUNCATE命令用法:
TRUNCATE TABLE 表名;
eg: TRUNCATE TABLE user;删除user表中所有的数据
2.TRUNCATE与DELETE的比较:
TRUNCATE与不带参数的DELETE语句的功能是一样的,都是删除表中所有的行。
但是TRUNCATE比DELETE速度快,因为它使用的系统和事务日志资源比较少。
DELETE没删除一行,就在事物日志中为所删除的每一行记录一项。
TRUNCATE TABLE通过释放存储表数据所用的数据页来删除数据,并且只在日志中记录页的释放。
TRUNCATE TABLE删除了表中的所有行,但表结构,列,约束,索引保持不变。
想要保留原有的标识计数值,就用delete。
想要删除表数据机器结构,就用DROP。
由Foreign key 约束引用的表,不能实用TRUNCATE,应该使用不带where字句的delete语句, 由于TRUNCATE TALE 不记录在 日志中,所以他不能激活触发器。
TRUNCATE TABLE 不能用于暗语了索引视图的表。