如何用 MySQL 删除表
直接删除
最简单的方法是使用
DROP TABLE语句:
<code class="sql">DROP TABLE table_name;</code>
此语句将立即删除表及其所有数据。
级联删除
如果表有与其他表的外键关系,可以使用
CASCADE选项进行级联删除:
<code class="sql">DROP TABLE table_name CASCADE;</code>
此语句将删除表及其所有数据,还将删除其他表中引用该表的任何记录。
受限删除
如果表有外键约束,并且不想级联删除相关记录,可以使用
RESTRICT选项:
<code class="sql">DROP TABLE table_name RESTRICT;</code>
此语句将只删除表,如果它与其他表有未满足的外键约束,则会失败。
其他选项
DROP TABLE语句还支持以下选项:
IF EXISTS:仅在表存在时删除。
CHECK:如果表包含任何数据,则抛出错误。
PURGE:释放表空间。
示例
删除名为
users的表:
<code class="sql">DROP TABLE users;</code>
删除表
orders并级联删除其相关记录:
<code class="sql">DROP TABLE orders CASCADE;</code>
如果
orders表与
customers表有外键约束,并且不想级联删除,则使用:
<code class="sql">DROP TABLE orders RESTRICT;</code>
