使用 DROP 语句,可以删除索引、表和数据库。
DROP INDEX 语句
我们可以使用 DROP INDEX 命令删除表的索引。不同的数据库其具体应用略有区别,如下
MySQL 的DROP INDEX 语法
Oracle 的DROP INDEX 语法
SQL Server 的DROP INDEX 语法
DROP TABLE 语句
DROP TABLE 语句用于删除表(包含 表的结构、属性、索引):
DROP DATABASE 语句
DROP DATABASE 语句用于删除数据库:
番外:我们总结一下删除表内数据的几种方式
TRUNCATE TABLE 语句
DELETE TABLE 语句
DROP TABLE 语句
三者的相同点
- TRUNCATE和不带WHERE子句的DELETE 以及DROP 都会删除表内的数据。
- DROP 、TRUNCATE 都是DDL语句(数据定义语言),执行后会自动提交。
三者的不同点
- TRUNCATE 和 DELETE 只删除数据不删除表的结构,
- DROP 语句将删除表的结构(包含属性、索引)。
- DELETE 语句是数据库操作语言(DML),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。
- TRUNCATE 、DROP 是数据库定义语言(DDL),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。
- 速度,一般来说:DROP > TRUNCATE > DELETE 。