1. DROP
语法:DROP TABLE table_name
说明:
- DROP TABLE 操作会删除内容和定义,释放空间
- 执行DROP TABLE操作时数据库会删除表所占用的空间,同时会在数据字典中删除表的信息
- 执行DROP TABLE操作会删除表所依赖的约束、触发器、索引,依赖于该表的存储过程和函数会保留,但是状态变为invalid
- DROP是DDL语言,操作立即生效,原数据不放到rollback中,不能回滚
2. TRUNCATE
语法:TRUNCATE TABLE table_name
说明:
- TRUNCATE TABLE 操作会删除内容,释放空间,但是不删除定义
- TRUNCATE是DDL语言,操作立即生效,原数据不放到rollback中,不能回滚
- TRUNCATE只能针对TABLE进行操作
- TRUNCATE会直接清空整个表,类似于不带WHERE子句的DELTE操作
3. DELETE
语法:DELETE FROM TABLE table_name
说明:
- DELETE TABLE操作会删除内容,不删除定义,也不会释放空间
- DELETE是DML语言,操作会被放到rollback segment中,事务提交后生效(如果有相应的trigger,执行的时候会被触发)
- DELETE可以针对TABLE和VIEW进行操作
- DELETE会逐行进行删除数据