删除所有记录。

156

如何删除SQL Server 2008中的所有记录?


1
用户表中的所有记录还是所有用户表? - Russ Cam
请看这里:https://dev59.com/83VC5IYBdhLWcg3w4VX6 - eulerfx
10个回答

227

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

DELETE FROM table_name 谨慎使用,没有撤销!

要删除一个表

DROP TABLE table_name


11
我认为它是DELETE FROM table_name(不含*)。 - jzd

54

从一个表中获取数据?

如果您没有与其他表的外键关系,可以使用此方法。

truncate table TableName
delete TableName

如果你想要所有的表格

sp_msforeachtable 'delete ?'

19

使用DELETE语句

Delete From <TableName>

例如:

Delete from Student;

15

我看到上面的其他答案都是正确的,但是我将让您的生活更轻松。

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

您必须右键单击表格,并按照如图所示的方式Script Table a> Delete to> New query Editor widows:

输入图像描述

然后会打开另一个窗口,其中包含一个脚本。 删除“where”行,因为您要删除所有行。 然后单击执行。

输入图像描述

为确保操作正确,请右键单击表格,然后单击“选择前1000行”。 然后您可以看到查询为空。


8
如果您想重置您的表格,可以执行以下操作:
truncate table TableName

truncate需要特权,如果您的表有依赖项(其他具有FK的表),则无法使用它。


5

对于一个表格

truncate table [table name]

对于所有的表格

EXEC sp_MSforeachtable @command1="truncate table ?"

2

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

Delete from Table_name

2
delete from TableName

不是一个好的做法。

就像在Google BigQuery中,它不允许使用没有“where”子句的删除操作。

使用

truncate table TableName

替代


0
语句是 DELETE FROM YourDatabaseName.SomeTableName; 如果你有合理的权限并且愿意删除所有记录。但是,你可能会看到对于你为外键定义的约束条件的错误。因此,在删除记录之前,你需要更改约束条件,否则MySQL(也可能适用于其他)有一条命令可以忽略这些约束条件。
SET foreign_key_checks = 0;

请注意,此命令将禁用您的外键约束检查,因此对于您在模式中创建的关系可能会带来危险。

0
当表格非常大时,最好使用drop table TableName删除表本身并重新创建它(如果有create table查询),而不是使用delete from语句逐个删除记录,因为这可能会耗费很长时间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接