在 PHP 中,可以使用 MySQL 數據庫的 SHOW TABLES 命令獲取當前數據庫中的所有數據表名,然後使用 DROP TABLE 命令批量刪除指定前綴的數據表。
以下是一個簡單的 PHP 函數,用於批量刪除指定前綴的數據表:
function deleteTables($prefix) {
// 設置 MySQL 數據庫連接信息
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
// 創建 MySQL 數據庫連接
$conn = new mysqli($servername, $username, $password, $dbname);
// 檢查連接是否成功
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}
// 獲取所有數據表名
$result = $conn->query("SHOW TABLES");
// 遍歷數據表名
while ($row = $result->fetch_assoc()) {
// 獲取當前數據表名
$table_name = $row['Tables_in_' . $dbname];
// 如果數據表名以指定前綴開頭,那麼刪除該數據表
if (strpos($table_name, $prefix) === 0) {
$conn->query("DROP TABLE $table_name");
}
}
// 關閉 MySQL 數據庫連接
$conn->close();
}在上面的代碼中,deleteTables 函數接受一個參數 $prefix,表示要刪除的數據表的前綴。該函數首先創建一個 MySQL 數據庫連接,然後使用 SHOW TABLES 命令獲取當前數據庫中的所有數據表名,並遍歷這些數據表名。對於每個數據表名,函數檢查其是否以指定前綴開頭,如果是,則使用 DROP TABLE 命令刪除該數據表。最後,函數關閉 MySQL 數據庫連接。
需要注意的是,刪除數據表是一項具有破壞性的操作,因此在運行該函數之前,請務必備份您的數據庫,並仔細檢查要刪除的數據表名,以確保不會刪除不需要刪除的數據表。