4.4 删除表

删除表是指删除数据库中已存在的表。在删除表时会删除表中所有的数据,因此在删除表时要特别注意。MySQL中通过DROP TABLE语句来删除表。由于创建表时可能存在外键约束,因此一些表成为与之关联的表的浮标。要删除这些父表,情况比较复杂。本节将详细讲解删除没有被关联的普通表的方法,删除有关联的表将后面讲解。

4.4.1 删除表的语法形式

在MySQL中,使用DROP TABLE语句删除没有被关联的普通表。其基本语法如下:

     DROP TABLE tablename;

上述语句中,tablename参数表示所要删除表的名字,所要删除的表必须是数据库中已经存在的表。

【示例4-5】执行SQL语句DROP TABLE,删除数据库school中名为t_class的表,具体步骤如下:

步骤01 选择数据库school,具体SQL语句如下:

     USE school;

执行结果如图4-23所示。

步骤02 删除表t_class,具体SQL语句如下:

     DROP TABLE t_class;

执行结果如图4-24所示。

图4-23 选择数据库

图4-24 删除表

步骤03 为了检验数据库school中是否还存在表t_class,执行SQL语句DESCRIBE,具体语句内容如下:

     DESCRIBE t_class;

执行结果如图4-25所示。

图4-25 查看表

4.4.2 通过SQLyog删除表

在客户端软件SQLyog中,不仅可以在“询问”窗口中执行DROP TABLE语句来删除表,也可以通过向导来实现。

下面先来介绍在“询问”窗口执行DROP TABLE语句。

步骤01 在“询问”窗口中输入以下SQL语句:

     DROP TABLE t_class;

如图4-26所示,单击“执行”按钮,可以在“信息”窗口中看到执行结果,显示已删除成功。

图4-26 在“询问”窗口中删除表

步骤02 在“询问”窗口中输入以下SQL语句:

     DESCRIBE t_class;

如图4-27所示,可以看到表已经不存在。

图4-27 在“询问”窗口中查看已删除的表

接下来介绍在SQLyog中通过向导来显示删除表操作。

步骤01 在“对象资源管理器”窗口中,右击数据库school中表t_class的节点,从弹出的快捷菜单中选择“更多表操作” | “从数据库删除表”命令,如图4-28所示。

图4-28 选择从数据库“删除表”命令

步骤02 弹出一个确认对话框,如图4-29所示。

步骤03 单击“是”按钮,从图4-30中可以看出,数据库school中已经不存在t_class表,说明已经删除成功。

图4-29 确认是否删除表图

图4-30 删除表成功