本教程介绍如何使用sql drop table
语句删除数据库中的一个或多个表。
随着数据库在应用过程不断的数据增加,有时需要从数据库中删除过时的冗余表或不用的表。 要删除表,可使用drop table
语句。
以下是drop table
语句的语法。
drop table [if exists] table_name;
要删除现有表,可在drop table
子句后指定表的名称。 如果要删除的表不存在,则数据库系统会发出错误。
为了防止删除不存在的表的错误,使用可选子句if exists
。 如果使用if exists
选项,如果删除一个不存在的表,数据库系统将不会抛出任何错误。 某些数据库系统会发出警告或通知。
注意,有些数据库系统不支持
if exists
选项。 支持if exists
选项的是mysql,postgresql和sql server 2016。
drop table
语句永久删除表的数据和结构,某些数据库系统要求表中的记录必须为空时才能从数据库中删除。 这有助于防止意外删除仍在使用的表。
要删除表中的所有数据,可以使用delete或truncate table语句。
要删除由另一个表的外键约束引用的表,必须在删除表之前禁用或删除外部约束。
下面创建一个用于练习drop table
语句的新表。
以下语句创建一个名为demo_contacts
的新表,用于存储员工的紧急联系人。
create table demo_contacts (
id int auto_increment primary key,
first_name varchar(50) not null,
last_name varchar(50) not null,
relationship varchar(50) not null,
employee_id int not null
);
以下语句用于删除demo_contacts
表:
drop table demo_contacts;
drop table
语句允许同时删除多个表。 为此,需要在drop table
子句之后指定逗号分隔表名称的列表,如下所示:
drop table table_name1,table_name2,...;
然后,数据库系统逐个删除指定的所有表。
在本教程中,我们已经学习了如何使用sql drop table
语句删除数据库中的一个或多个表。