使用 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 语句
DROP TABLE 语句
三者的相似之处
TRUNCATE
、没有 WHERE 子句的
DELETE
和
DROP
都会删除表中的数据。
DROP
和
TRUNCATE
都是数据定义语言 (DDL) 语句,执行后会自动提交。
三者的区别
TRUNCATE
和
DELETE
只会删除数据,不会删除表的结构;
DROP
语句则会删除表的结构(包括属性和索引)。
DELETE
是数据操作语言 (DML) 的一部分,这个操作会被放入回滚段中,直到事务提交才会生效;若有触发器,这个操作也会触发相应的事件。
TRUNCATE
和
DROP
属于数据库定义语言 (DDL),这些操作会立即生效,原数据不会被放入回滚段中,且无法回滚,也不会触发触发器。
在速度上,一般而言:
DROP > TRUNCATE > DELETE。