首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL DROP DATABASE 刪除資料庫完整指南:命令列與 PHP 實作

     編輯:MySQL 資料庫相關知識

核心語法與安全寫法

DROP DATABASE 用於永久刪除資料庫及其所有物件。為避免誤刪不存在的資料庫報錯,建議永遠加上 IF EXISTS 子句:

-- 基礎語法(不存在會報錯)
DROP DATABASE school;

-- 安全寫法(推薦生產環境使用)
DROP DATABASE IF EXISTS school;

命令列操作實戰

  1. 登入 MySQL:mysql -u root -p
  2. 確認資料庫名稱:SHOW DATABASES;
  3. 執行刪除:DROP DATABASE IF EXISTS 目標資料庫名;
  4. 驗證結果:SHOW DATABASES; 確認已移除

PHP 程式化刪除實作

注意:範例使用已棄用的 mysql_* 函式,現代專案請改用 mysqli 或 PDO。

mysqli 版本(推薦)

<?php
$host = 'localhost';
$user = 'root';
$pass = 'your_password';
$dbname = ''; // 刪除資料庫不需指定

$mysqli = new mysqli($host, $user, $pass, $dbname);
if ($mysqli->connect_errno) {
    die("連線失敗: " . $mysqli->connect_error);
}

$dbToDrop = 'TUTORIALS';
$sql = "DROP DATABASE IF EXISTS `$dbToDrop`";

if ($mysqli->query($sql) === TRUE) {
    echo "資料庫 '$dbToDrop' 刪除成功";
} else {
    echo "刪除失敗: " . $mysqli->error;
}
$mysqli->close();
?>

PDO 版本(更現代)

<?php
try {
    $pdo = new PDO("mysql:host=localhost", 'root', 'your_password');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $dbName = 'TUTORIALS';
    $pdo->exec("DROP DATABASE IF EXISTS `$dbName`");
    echo "資料庫 '$dbName' 刪除成功";
} catch (PDOException $e) {
    echo "錯誤: " . $e->getMessage();
}
?>

關鍵注意事項

  • 不可逆操作:刪除後資料永久遺失,務必先備份
  • 權限需求:執行帳號需具備 DROP 權限
  • 活躍連線:若有其他連線正在使用該資料庫,刪除可能失敗或導致異常
  • 外鍵關聯:跨資料庫的外鍵不受影響,但應用層邏輯會報錯

最佳實踐建議

  1. 執行前先 mysqldump 完整備份
  2. 使用 IF EXISTS 避免腳本報錯中斷
  3. 生產環境建議加入確認機制(如輸入資料庫名兩次驗證)
  4. 記錄操作日誌供審計追蹤
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved