使用 DROP TABLE 语句删除表,最简单的方法是直接删除,只需提供表名即可。级联删除则可以通过 CASCADE 选项删除表及其相关记录,而 RESTRICT 选项只删除表,如果存在外键约束则会失败。
如何用 MySQL 删除表
直接删除
最简单的方法是使用
语句:
此语句将立即删除表及其所有数据。
级联删除
如果表有与其他表的外键关系,可以使用
选项进行级联删除:
此语句将删除表及其所有数据,还将删除其他表中引用该表的任何记录。
受限删除
如果表有外键约束,并且不想级联删除相关记录,可以使用
选项:
MySQL(Linux)
MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。
下载
此语句将只删除表,如果它与其他表有未满足的外键约束,则会失败。
其他选项
语句还支持以下选项:
:仅在表存在时删除。
:如果表包含任何数据,则抛出错误。
:释放表空间。
示例
删除名为
的表:
删除表
并级联删除其相关记录:
如果
表与
表有外键约束,并且不想级联删除,则使用:
DROP TABLEDROP TABLE table_name;CASCADEDROP TABLE table_name CASCADE;RESTRICTDROP TABLE table_name RESTRICT;DROP TABLEIF EXISTSCHECKPURGEusersDROP TABLE users;ordersDROP TABLE orders CASCADE;orderscustomersDROP TABLE orders RESTRICT;