暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL中drop、truncate、delete的区别

测试点梳理驿站 2021-04-12
268

删除表drop、truncate、delete的区别

drop
  • drop table tablename

  • 删除表数据以及表结构,并释放表所占用的全部空间

  • drop为数据库定义语言,不能回滚,不会触发触发器


truncate
  • truncate table tablename

  • 删除表数据,不会删除表结构,并释放表和索引所占用的空间到初始大小

  • 不能删除行数据

  • truncate为数据库定义语言,不能回滚,不会触发触发器


delete
  • delete from tablename

  • delete from tablename where key=value

  • 删除表数据,不会删除表结构,不释放空间

  • 既可以删除行数据,也可以删除整表数据

  • delete是数据库操作语言,操作作为事务记录保存在日志中,支持回滚


删除速度

如果你不需要这张表了,可以用drop

如果你要保留这张表,想清空数据,可以用truncate

如果你想删除部分数据,可以用delete

一般情况下:drop>truncate>delete


最好的总会在不经意间出现。



文章转载自测试点梳理驿站,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论