SQL 语句里delete 和drop有什么区别

SQL 语句里delete 和drop有什么区别
最新回答
清悠野鹤

2020-10-15 10:29:58

一、删除内容不同

1、delete:只删除数据不删除表的结构。

2、drop:句将删除表的结构被依赖的约束(constrain)、

触发器
(trigger)、索引(index)。

二、语句效果不同

1、delete:是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。

2、drop:是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。


三、删除空间影响不同

1、delete:不影响表所占用的 extent,高水线(high watermark)保持原位置不动。

2、drop:语句将表所占用的空间全部释放。


参考资料来源:

百度百科-SQL语句大全

参考资料来源:

百度百科-sql语句

梦比糖果甜

2020-11-11 06:41:01

delete 是删除表里的内容;
drop 是删除表(还有其它的),表结构和内容全删除
柠七菇凉

2020-09-30 17:02:34

delete from table_name
drop table table_name
差不多先森丶

2021-09-11 04:27:00

同上
收起 1条折叠回答