要删除现有表,请使用MySQL DROP TABLE语句。DROP TABLE语句的基本语法:
DROP [TEMPORARY] TABLE [IF EXISTS] table_name [, table_name] ...
[RESTRICT | CASCADE]
DROP TABLE语句从数据库中永久删除表及其数据。在MySQL中,您还可以使用单个DROP TABLE语句删除多个表,每个表之间用逗号(,)分隔。
该TEMPORARY选项仅允许您删除临时表。它确保您不会意外删除非临时表。
该IF EXISTS选项仅在表存在时有条件地删除它。如果使用该IF EXISTS选项删除一个不存在的表,MySQL会生成一个NOTE,可以使用该SHOW WARNINGS语句来检索该NOTE 。
DROP TABLE例子
创建一个用于测试表insurances:
CREATE TABLE insurances (
id INT AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
effectiveDate DATE NOT NULL,
duration INT NOT NULL,
amount DEC(10 , 2 ) NOT NULL,
PRIMARY KEY(id)
);
使用DROP TABLE删除insurances表:
DROP TABLE insurances;
MySQL DROP TABLE删除多个表
首先,创建两个名为CarAccessories和的表CarGadgets:
CREATE TABLE CarAccessories (
id INT AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
price DEC(10 , 2 ) NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE CarGadgets (
id INT AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
price DEC(10 , 2 ) NOT NULL,
PRIMARY KEY(id)
);
DROP TABLE语句删除两个表:
DROP TABLE CarAccessories, CarGadgets;
MySQL DROP TABLE删除不存在的表
尝试删除一个不存在的表:
DROP TABLE aliens;
MySQL发出以下错误:
ErrorCode:1051.Unknowntable'classicmodels.aliens'
如果IF EXISTS在DROP TABLE语句中使用该选项:
DROP TABLE IF EXISTS aliens;
MySQL发出警告:
0 row(s) affected, 1 warning(s): 1051 Unknown table 'classicmodels.aliens'
要显示警告,可以使用以下SHOW WARNINGS语句:
SHOW WARNINGS;