MySQL 删除数据表

MySQL中删除数据表是非常容易操作的,但是你在进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。

语法

以下为删除 MySQL 数据表的通用语法:

DROP TABLE table_name;     -- 直接删除表,不检查是否存在

DROP TABLE [IF EXISTS] table_name;  -- 会检查是否存在,如果存在则删除

参数说明:

  • table_name 是要删除的表的名称。
  • IF EXISTS 是一个可选的子句,表示如果表存在才执行删除操作,避免因为表不存在而引发错误。
-- 删除表,如果存在的话
DROP TABLE IF EXISTS mytable;

-- 直接删除表,不检查是否存在
DROP TABLE mytable;

请替换 mytable 为你要删除的表的名称。

如果你只是想删除表中的所有数据,但保留表的结构,可以使用 TRUNCATE TABLE 语句:

TRUNCATE TABLE table_name;

这会清空表中的所有数据,但不会删除表本身。

注意事项:

  • 备份数据:在删除表之前,确保已经备份了数据,如果你需要的话。
  • 外键约束:如果该表与其他表有外键约束,可能需要先删除外键约束,或者确保依赖关系被处理好。

实例

以下实例删除了数据表 runoob_tbl:

实例

root@host# mysql -u root -p
Enter password:*******
mysql> USE RUNOOB;
DATABASE changed
mysql> DROP TABLE runoob_tbl;
Query OK, 0 ROWS affected (0.8 sec)
mysql>

使用 PHP 脚本删除数据表

PHP 使用 mysqli_query 函数来删除 MySQL 数据表。

该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。

语法

mysqli_query(connection,query,resultmode);
参数 描述
connection 必需。规定要使用的 MySQL 连接。
query 必需,规定查询字符串。
resultmode

可选。一个常量。可以是下列值中的任意一个:

  • MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)
  • MYSQLI_STORE_RESULT(默认)

实例

以下实例使用了 PHP 脚本删除数据表 runoob_tbl:

删除数据库

<?php $dbhost = 'localhost'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); } echo '连接成功<br />'; $sql = "DROP TABLE runoob_tbl"; mysqli_select_db( $conn, 'RUNOOB' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('数据表删除失败: ' . mysqli_error($conn)); } echo "数据表删除成功\n"; mysqli_close($conn); ?>

执行成功后,我们使用以下命令,就看不到 runoob_tbl 表了:

mysql> show tables;
Empty set (0.01 sec)