删除现有的MySQL表非常容易,但是删除任何现有表时要非常小心,因为删除表后丢失的数据将无法恢复。
这是删除MySQL表的通用SQL语法-
DROP [ TEMPORARY ] TABLE [ IF EXISTS ] table_name [ RESTRICT | CASCADE ];
mysql> DROP TABLE table_name;
OR,
mysql> DROP TABLE schema_name.table_name;
命令行删除表
要从命令提示符下删除表,无涯教程需要在mysql>提示符下执行DROP TABLE SQL命令。
以下程序是删除 Learnfk_tbl 的示例-
root@host# mysql -u root -p Enter password:******* mysql> use Learnfk; Database changed mysql> DROP TABLE Learnfk_tbl Query OK, 0 rows affected (0.8 sec) mysql>
删除多个表
有时无涯教程要从数据库中删除多个表。在这种情况下,无涯教程必须使用表格名称并使用逗号运算符将它们分开。以下语句可用于删除多个表:
DROP TABLE IF EXISTS table_name1, table_name2, table, ......., table_nameN;
截断表与删除表
您还可以使用drop table命令删除完整表,但它将删除完整的表数据和结构,如果必须存储一些数据,则需要重新创建表格。
但在Truncate截断表的情况下,它只删除表数据,而不是结构。您不需要再次重新创建表,因为表结构已存在。
PHP脚本删除表
要删除任何数据库中的现有表,您需要使用PHP函数 mysqli_query(),您将使用适当的SQL命令传递其第二个参数来删除表。
<html> <head> <title>Creating MySQL Tables</title> </head> <body> <?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $dbname='Learnfk'; $conn=mysqli_connect($dbhost, $dbuser, $dbpass,dbname); if(! $conn ) { die('Could not connect: ' . mysqli_connect_error()); } echo 'Connected successfully<br />'; $sql = "DROP TABLE Learnfk_tbl"; //mysqli_select_db($conn, 'Learnfk' ); $retval = mysqli_query($conn,$sql ); if(! $retval ) { die('Could not delete table:' . mysqli_error($conn)); } echo "Table deleted successfully\n"; mysqli_close($conn); ?> </body> </html>