oracle之drop,truncate,delete的区别?

drop,truncate,delete的区别?

  • 1.delte和truncate都是只删除表的数据,而不删除表的结构,drop删除数据和定义。
  • 2.delete语句是dml,事务提交后才会生效。drop和truncate是ddl,操作完成后立即生效不需要提交事务,不能回滚。
  • 3.delete如果有相应的trigger,执行的时候将被触发。drop和truncate不会出发trigger。
  • 4.truncate将表重置回到最开始,而delete只删除数据,不释放存储空间,等待写入新的数据来覆盖旧的数据。
  • 5.速度的话:drop> truncate>delete
  • 6.truncate只删除全部的数据,而delete可以通过where条件来筛选要删除的数据。
posted @ 2022-09-04 21:33  King-DA  阅读(64)  评论(0)    收藏  举报