在sql server中truncate、delete、drop删除表的区别,详细点,越详细越好。

2025-05-05 02:16:26
推荐回答(3个)
回答1:

truncate、delete都是删除表中的数据。truncate直接删除全部的数据,delete可以加上where条件删除部分数据。truncate效率高,直接释放多余的资源,执行后数据不可恢复,delete效率低,不释放资源,短时间内可恢复删除的记录。

drop是表数据和表定义一起都删了。

回答2:

简单来说,如果是对于 TableA 来说
1、drop table TableA ,删除表,然后你用 select * from TableA 已经提示查询出错了,表不存在
2、truncate table TableA 清空表中的数据,不能加条件,记住是全清。这个速度会比较快, 而且并不产生任何日志 ,使用 select * from TableA 可以执行,但是表里面一条数据都没有
3、delete from TableA 可以根据需要的条件删除数据,但是,如果一次删除大数据量的数据,比如删除1KW条,可能数据库会卡死╮(╯_╰)╭

回答3:

drop 删除整个表结构和里面的数据

truncate和delete只能删除表中的数据,区别如下:
truncate删除的数据不会产生日志记录
delete删除的数据会产生日志记录