小码问答,有问必答!

drop、truncate、 delete 区别

数据库

收藏

1个回答

我要回答

  • author
    牛叔叔 2020-04-14 08:55

    delete 用来删除数据,不删除表结构,commit 提交,rollback 回滚,delete 是 DML 操作, DELETE 语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作记录 在日志中保存以便进行进行回滚操作,commit 释放回滚段。


    delete 可以操作表,视图及 同义词等。可以加 where 条件。


    DELETE 操作不会减少表或索引所占用的空间。 


    drop table 表名,删除表结构和数据,DDL,不能回滚 


    truncate table 表名,只删除表数据,保留表结构,DDL,不能回滚,truncate 只能操作 表。truncate 删除数据后,占用的空间会立即释放,不激活触发器,执行速度快。表和 索引所占用的空间会恢复到初始大小。