drop和delete数据库有什么区别?
答案 0 :(得分:26)
Difference between DELETE and DROP commands
删除: DELETE命令用于 从表中删除行。一个地方 子句可用于仅删除一些 行。如果没有WHERE条件 指定后,将删除所有行。 执行DELETE操作后 你需要COMMIT或ROLLBACK 交易进行更改 永久的或撤消它。注意 此操作将导致所有DELETE 触发桌面上的触发器。
删除: DROP命令删除表 来自数据库。所有的桌子' 行,索引和权限也将 被删除。没有DML触发器 被解雇。操作无法滚动 回来。
答案 1 :(得分:5)
简单地说:DELETE
命令删除匹配的行,DROP
命令删除整个表。
答案 2 :(得分:3)
删除强>
下拉强>
答案 3 :(得分:2)
删除删除内容并删除数据库的结构。
答案 4 :(得分:2)
删除删除了表格内容。删除删除了表格的内容和结构。删除可以回滚,但删除 strong>无法回滚
答案 5 :(得分:1)
假设您正在使用MS SQL
然后,如果您想要删除整个Table
,那么您将使用:
DROP TABLE MyTable
这将删除整个表及其约束
要删除您要使用的任何特定行:
DELETE FROM MyTable WHERE id = 5
这将删除id = 5的行 如果没有条件匹配,则会删除所有行
答案 6 :(得分:1)
我知道这是一篇旧帖子,但我自己一直在寻找答案,因为我认为OP已经要求删除或删除数据库,而不是表格或内容,我以为我会填写
两者都会删除数据库,但如果你想完全删除数据库和相关的文物,两者都可能涉及多个步骤。
如果您使用的是SQL Server Management Studio,则可以通过右键单击数据库并选择“删除”来删除数据库。生成的对话框提供了几个复选框:
如果您没有勾选“删除备份和恢复历史记录”。 ,除非您手动删除它们,否则这些文件将保留在服务器上。 '关闭现有连接'是一个好主意,否则你可能会收到一个错误,告诉你数据库仍然在使用中(即使它只是你,而你正试图删除它)
SQL命令' DROP'单独不会删除一切。您仍然需要删除备份历史记录,并将数据库设置为“单用户模式”。 - 或者它可能会抱怨数据库仍在使用中,如上所述。
--Remove backup history
EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'YourDBName'
GO
USE [master]
GO
--close all the open connections to your database
ALTER DATABASE [YourDBName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
USE [master]
GO
--remove the actual database
DROP DATABASE [YourDBName]
GO
答案 7 :(得分:0)
DROP
从目录中删除整个表和关联对象,要求您从头开始创建所有索引和约束。
答案 8 :(得分:0)
放入一个物理删除和特定表或列的函数。表格结构相同。如果你想看到结构,你可以写这个 desc tablename;放下桌子后结构会一样。 删除函数永久删除表或列,表的结构也是如此。