在对于不再需要的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 | 可选。一个常量。可以是下列值中的任意一个:
|
示例
以下示例使用了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中删除数据表是非常容易操作的,但是你在进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。