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

2024-12-15 18:45:31
推荐回答(4个)
回答1:

一、删除内容不同

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语句

回答2:

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

回答3:

delete from table_name
drop table table_name

回答4:

同上