MySQL 删除数据表

在对于不再需要的MySQL数据表,我们可以将其从数据库中删除。 在删除表的同时,表的结构和表中所有的数据都会被删除,因此在删除数据表之前最好先备份,以免造成无法挽回的损失。

语法

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

DROP TABLE table_name ;

对语法格式的说明如下:

  • table_name,表示要被删除的数据表的名称。DROP TABLE 可以同时删除多个表,只要将表名依次写在后面,相互之间用逗号隔开即可。

  • IF EXISTS 用于在删除数据表之前判断该表是否存在。如果不加 IF EXISTS,当数据表不存在时 MySQL 将提示错误,中断 SQL 语句的执行;加上 IF EXISTS 后,当数据表不存在时 SQL 语句可以顺利执行,但是会发出警告(warning)。

两点注意:

  • 用户必须拥有执行 DROP TABLE 命令的权限,否则数据表不会被删除。

  • 表被删除时,用户在该表上的权限不会自动删除。

在命令提示窗口中删除数据表

在mysql>命令提示窗口中删除数据表SQL语句为 DROP TABLE

示例

以下示例删除了数据表sfjvip_tbl:

root@host# mysql -u root -p
Enter password:*******
mysql> use sfjvip;
Database changed
mysql> DROP TABLE sfjvip_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脚本删除数据表 sfjvip_tbl:

$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 sfjvip_tbl";
mysqli_select_db( $conn, 'sfjvip' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
  die('数据表删除失败: ' . mysqli_error($conn));
}
echo "数据表删除成功\n";
mysqli_close($conn);

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

mysql> show tables;
Empty set (0.01 sec)

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

编程笔记 » MySQL 删除数据表