在SQL Server中,以下两个之间有什么区别 -
右键单击数据库对象(表/视图)并选择Drop表(即脚本表为 - > DROP TO - > New Query Editor窗口)
右键单击数据库对象(表/视图)并选择删除。
我尝试了两者并且都执行相同的操作。对于同一件事有两个选择的任何理由?删除选项只是删除数据库对象的粗略方法吗?
仅供记录 - 我正在使用SS2008。
答案 0 :(得分:30)
DROP
也将删除所有数据和表格结构。
DELETE
将删除数据,但表结构将保持不变,我们仍然可以回滚数据。同样使用DELETE
,您可以使用where
条件,即仅删除某些记录。
答案 1 :(得分:14)
drop table 和 delete object ,至少在SQL Server 2005中。两者都执行相同的操作动作。
Delete table
和Drop table
虽然不一样。前者将删除表中的所有数据,而后者将从数据库中删除表。
答案 2 :(得分:5)
删除v / s Drop。
Delete语句执行基于条件的删除,而Drop命令删除表中的整个记录。
Delete语句仅删除表中的行,并将表结构保留为相同,Drop命令删除表和表结构中的所有数据。
删除操作可以回滚并且不会自动提交,而Drop操作无法以任何方式回滚,因为它是自动提交的语句。
答案 3 :(得分:2)
其中一个执行删除,另一个提供TSQL脚本进行删除,以便您可以在其他地方修改或使用它。
答案 4 :(得分:1)
这两个是相同的操作。 DROP TABLE是用于此的SQL语句,Delete是标准的,用户友好的,菜单驱动的命令名称。就是这样。
答案 5 :(得分:1)
在删除对象GUI中,顶部有一个'script'选项,它给出了t-sql语句,它是普通的drop table语句。当您使用drop table选项时,只有在sys.objects表中存在表时,生成的t-sql才会执行drop。
答案 6 :(得分:1)
删除表..将从Database.it中删除完整的表,无法检索到bak 删除用于从表中删除数据..可以使用ROLL BACK检索数据。
答案 7 :(得分:0)
如果选择“删除”,然后选择编写脚本,您将看到它也为您提供了一个删除表语句。
答案 8 :(得分:0)
使用Delete命令行可以有条件地从表中删除,但可以使用COMMIT和ROLLBACK完成/撤消更改。表结构永远不会丢失。 Truncate是Delete的替代方法,它允许删除行而不会丢失表结构,但UNLIKE Delete,操作无法撤消。但是,Drop语句会从数据库中完全删除表及其结构,并且此操作无法撤消。因此,Delete是一个DML语句,Turncate和Drop是DDL语句。
答案 9 :(得分:0)
Drop table将删除表和表self的内容。 删除表只会删除内容。 截断只会将内容“重置”为零
答案 10 :(得分:-1)
我们可以使用delete命令从表中删除特定记录。但是使用drop我们可以删除表。如果你使用Drop,那么结构也会出现,但是如果使用delete命令,结构就不会去了。