sql server:删除所有表的所有行

时间:2010-11-07 00:13:57

标签: sql sql-server

我想完全清除数据库并重置数据。最快的方法是什么?或者,什么是删除表的所有行的命令(我将为所有表重复该过程)?

由于

4 个答案:

答案 0 :(得分:11)

此方法将允许您删除所有表中的内容,甚至是外键约束引用的内容。您可以对其进行增强,以检查是否存在外键约束,并在这些情况下执行TRUNCATE TABLE

EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
EXEC sp_msforeachtable 'DELETE FROM ?'
EXEC sp_msforeachtable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL'

答案 1 :(得分:10)

如果您不想编写脚本并删除表,可以通过循环方式执行此操作。这可能是最简单的:

sp_MsForEachTable'TRUNCATE TABLE?'

答案 2 :(得分:1)

删除数据库并重新创建它。

答案 3 :(得分:0)

使用SQL Server Management Studio为表的DROP和CREATE语句编写脚本,然后运行脚本。右键单击数据库,然后选择任务 - >生成脚本。运行向导(确保选中“选择脚本选项”步骤中的“脚本删除”选项)并选择所有表。生成的脚本应删除所有表,然后重新创建它们。