删除所有记录

时间:2011-03-18 19:13:49

标签: sql sql-server-2008

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

8 个答案:

答案 0 :(得分:83)

删除表中的所有记录而不删除表。

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

删除表格

DROP TABLE table_name

答案 1 :(得分:23)

来自一张桌子?

如果您没有其他表的外键

,则可以使用此选项
truncate table TableName

delete TableName

如果你想要所有的表

sp_msforeachtable 'delete ?'

答案 2 :(得分:9)

我可以看到上面显示的其他答案是正确的,但我会让你的生活变得轻松。

我甚至为你创造了一个例子。我添加了一些行并希望删除它们。

您必须右键单击该表,如图所示脚本表a>删除至>新查询编辑器widows:

enter image description here

然后将使用脚本打开另一个窗口。删除"其中"的行,因为您要删除所有行。然后单击“执行”。

enter image description here

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

答案 3 :(得分:5)

如果您想重置表格,可以

truncate table TableName

truncate需要权限,如果你的表有dependents(另一个表有你表的FK的表,

)你就不能使用它

答案 4 :(得分:5)

使用DELETE语句

Delete From <TableName>

例如:

Delete from Student;

答案 5 :(得分:2)

一张表

truncate table [table name]

对于所有表格

EXEC sp_MSforeachtable @command1="truncate table ?"

答案 6 :(得分:0)

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

Delete from Table_name

答案 7 :(得分:-1)

如果表很大,最好使用#!/bin/bash HEIGHT=18 CHOICE_HEIGHT=10 WIDTH=78 BACKTITLE="SYSTEM MENU - BACKUP BACKEND" TITLE="[ M A I N - M E N U ]" MENU="Tasks:" OPTIONS=( Htop "Monitor server resources " AvailableHDDS "List installed HDDs " CheckRAIDZ "Check RAIDz pool status " CreateDataPool "Create new data pool " Reboot "Reboot the System " Shutdown "Shutdown the System " Logout/Exit "Logout the Session " Update "Update & Upgrade & autoRemove " Edit "Edit this script " Shell "Exit to Shell " ) CHOICE=$(whiptail --clear \ --backtitle "$BACKTITLE" \ --title "$TITLE" \ --menu "$MENU" \ $HEIGHT $WIDTH $CHOICE_HEIGHT \ "${OPTIONS[@]}" \ 2>&1 >/dev/tty) clear case $CHOICE in Htop) exec htop ;; AvailableHDDS) ls /dev/sd* ;; Shell) exit ;; esac 删除表本身,然后重新创建它(如果有创建表查询的话);而不是使用drop table TableName语句一个接一个地删除记录,因为这可能很耗时。