首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 創建/刪除數據庫命令與 PHP 操作實戰 (mysqladmin / mysql_query)

     編輯:MySQL 綜合教學

前言:庫級 DDL 是權限最高的操作,謹慎執行

創建/刪除數據庫屬於 DDL,需 CREATE/DROP DATABASE 權限。本文覆蓋 **命令行 mysqladmin**、**SQL 語句**、**PHP mysql_query (舊) / mysqli/PDO (新)** 三種方式,並強調防誤刪機制。

一、命令行 mysqladmin (需 root 權限)

創建庫

mysqladmin -u root -p create tutorials
# Enter password: ******

刪除庫 (交互確認)

mysqladmin -u root -p drop tutorials
# Dropping the database is potentially a very bad thing...
# Do you really want to drop the 'tutorials' database [y/N] y
# Database "tutorials" dropped

優點:有交互確認提示,降低手滑風險。缺點:無法在腳本中靜默執行 (需 expect 或 echo y |)。

二、SQL 語句 (通用、可在腳本/客戶端執行)

CREATE DATABASE tutorials CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
DROP DATABASE tutorials;  -- 無確認,立即執行,極度危險

最佳實踐:指定 CHARACTER SET utf8mb4,支援 Emoji 與完整 Unicode。

三、PHP 操作 (以 mysqli 物件風格為例)

創建庫

$mysqli = new mysqli('localhost', 'root', 'rootpassword');
if ($mysqli->connect_errno) die("連接失敗: " . $mysqli->connect_error);

$sql = "CREATE DATABASE tutorials CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci";
if ($mysqli->query($sql)) {
    echo "資料庫創建成功";
} else {
    die("創建失敗: " . $mysqli->error);
}
$mysqli->close();

刪除庫 (生產環境建議加二次確認邏輯)

$mysqli = new mysqli('localhost', 'root', 'rootpassword');
$sql = "DROP DATABASE tutorials";
if ($mysqli->query($sql)) {
    echo "資料庫刪除成功";
} else {
    die("刪除失敗: " . $mysqli->error);
}
$mysqli->close();

注意:PHP 腳本執行 DROP DATABASE **無交互確認**,極易誤刪。建議封裝函數要求雙重驗證 (如輸入庫名兩次、輸入確認碼、寫操作日誌審計)。

四、PDO 版本 (異常模式,代碼更簡潔)

$pdo = new PDO('mysql:host=localhost', 'root', 'rootpassword', [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
// 創建
$pdo->exec("CREATE DATABASE tutorials CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci");
echo "創建成功";
// 刪除
$pdo->exec("DROP DATABASE tutorials");
echo "刪除成功";

五、避坑清單

  1. 庫名大小寫敏感:Linux 下區分大小寫,Windows 不區分;統一用小寫、下劃線命名。
  2. 字符集指定:創建時顯式指定 utf8mb4,避免後續 ALTER DATABASE 鎖表重建。
  3. 權限最小化:應用賬號**不要**給 DROP DATABASE 權限;僅在部署/運維腳本中用 root 執行。
  4. 備份先行:執行 DROP 前務必確認有可用備份 (邏輯/物理/快照)。
  5. 外鍵依賴:若有其他實例通過聯邦引擎/分片引用此庫,DROP 會導致報錯或數據不一致。

結語

創建庫用 CREATE DATABASE ... CHARACTER SET utf8mb4,刪除庫**三思而後行**,生產環境必走**審批單 + 備份驗證 + 雙人確認**流程。PHP 操作首選 mysqli/PDO 異常模式,封裝安全封裝層防誤刪。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved