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>
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 |
可选。一个常量。可以是下列值中的任意一个:
|
实例
以下实例使用了 PHP 脚本删除数据表 runoob_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 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)