现在的位置: 首页 > 综合 > 正文

20100713 学习记录:清空表数据

2012年06月08日 ⁄ 综合 ⁄ 共 711字 ⁄ 字号 评论关闭
SQL 中有一个语句就是专门用来删除表中所有数据的,唯一和delete不同的是给语句不会删除数据库已经存在的主从表关系,而且如果主表有外键约束引用,需要使用delete语句,具体语句如下:Truncate table 表名   该语句对表的结构,列,约束,,索引不会有任何的改动!

 

TRUNCATE TABLE 删除表中的所有行,而不记录单个行删除操作。 语法 TRUNCATE TABLE name 参数 name 是要截断的表的名称或要删除其全部行的表的名称。 注释 TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。 但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并 且只在事务日志中记录页的释放。 TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数 值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。 对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由 于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。 TRUNCATE TABLE 不能用于参与了索引视图的表。 示例 下例删除 authors 表中的所有数据。 TRUNCATE TABLE authors

 

 

抱歉!评论已关闭.