DELETE FROM 和 TRUNCATE TABLE 是删除表记录的两种操作手法,这种删除表本身不会被删除,而是删除了表中的数据记录。其恢复流程是:在打开MDF文件的界面中,选择删除恢复选项,如果有日志文件,建议加载日志文件,然后进行恢复。
DROP TABLE 是删除表名字,并删除表中记录,释放表空间页面。
DELETE FROM 和 TRUNCATE TABLE 都是用于从数据库表中删除数据的 SQL 命令,但它们之间有一些重要的区别:
DELETE FROM 表名 删除方式
DELETE FROM 是一种数据操作语言(DML)命令,它用于从表中删除特定行或根据指定的条件删除行。 DELETE 命令可以与 WHERE 子句一起使用,以根据特定条件删除满足条件的行。 DELETE 命令会逐行删除数据,因此在删除大量数据时可能会导致较慢的性能。 DELETE 命令删除的数据可以通过回滚事务进行还原,因为它被记录在事务日志中。
TRUNCATE TABLE 表名 删除方式
TRUNCATE TABLE 是一种数据定义语言(DDL)命令,它用于快速删除表中的所有行,而不需要逐行删除。 TRUNCATE 命令不允许与 WHERE 子句一起使用,因此无法选择特定条件下的行进行删除。 TRUNCATE 命令通常比 DELETE 命令快,因为它不需要记录每个删除的行,也不会激发与删除操作相关的触发器。 由于 TRUNCATE 删除的数据不记录在事务日志中,所以不能通过回滚事务来还原。 因此,选择使用哪个命令取决于您的需求和情况:
如果您需要选择特定条件下的行进行删除或者需要在事务中进行删除操作并能够回滚,则可以使用 DELETE FROM。 如果您只需要删除表中的所有数据,并且不需要记录删除操作或触发触发器,则可以使用 TRUNCATE TABLE,它通常更快且更轻量级。 需要注意的是,使用 TRUNCATE TABLE 命令会更危险,因为它会删除整个表中的数据,而不是仅删除特定行。所以在使用之前务必小心谨慎。
DROP TABLE 表名 删除方式
含义:删除内容和定义,释放空间。简单来说就是把整个表从数据库去掉。如果想再添加数据,只能再新建一个表。
例如:一个班就是一个表,学生就是表中的数据,,学生的职务就是定义。
drop table class 就是把整个班移除,学生和职务都消失。