删除所有记录

如何删除 SQLServer2008中的所有记录?

366909 次浏览

从一张桌子上?

如果没有其他表的外键,则可以使用此方法

truncate table TableName

或者

delete TableName

如果你想要所有的桌子

sp_msforeachtable 'delete ?'

一张桌子

truncate table [table name]

所有的桌子

EXEC sp_MSforeachtable @command1="truncate table ?"

在不删除表的情况下从表中删除所有记录。

小心使用 DELETE FROM table_name,没有撤消!

移除桌子

DROP TABLE table_name

如果您想重置表,可以这样做

truncate table TableName

截断需要特权,如果您的表有依赖项(另一个表有您的表的 FK,

我可以看到其他的答案显示以上是正确的,但我会让你的生活容易。

我甚至为您创建了一个示例。我添加了一些行,并希望删除它们。

您必须右键单击该表,如图 Script Table a > Delete to > New query Editor 窗口所示:

enter image description here

然后另一个窗口将打开一个脚本。删除“ where”行,因为您想删除所有行。然后单击“执行”。

enter image description here

为了确保你做了右键点击表格,并点击“选择前1000行”。然后您可以看到查询是空的。

使用 DELETE 语句

Delete From <TableName>

例如:

Delete from Student;

当表非常大时,如果已经创建了表查询,最好使用 drop table TableName删除表本身并重新创建它; 而不是使用 delete from语句逐条删除记录,因为这可能会耗费时间。

如果要删除数据库中的记录,请在“结果”窗格中删除行。如果要删除所有行,可以使用“删除”查询。

Delete from Table_name
delete from TableName

不是个好习惯。

和 Google BigQuery 一样,它不允许使用没有“ where”子句的 delete。

使用

truncate table TableName

取而代之

声明是 DELETE FROM YourDatabaseName.SomeTableName;,如果你愿意删除所有的记录合理的许可。但是您可能会在为外键定义的约束中看到错误。因此,您需要在删除记录之前更改您的约束,否则 MySQL 会有一个命令来忽略这些约束(可能对其他人也有效)。

SET foreign_key_checks = 0;

请注意,此命令将禁用您的外键约束检查,因此这对您在架构中创建的关系可能是危险的。