萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 建立與刪除資料庫完整指令教學(入門必學)

資料庫的建立與刪除是 MySQL 入門的第一課。本文提供標準 SQL 語法、完整權限配置流程與實戰範例,助您快速掌握核心指令。

建立資料庫

基本語法

CREATE DATABASE [IF NOT EXISTS] db_name
  [DEFAULT CHARACTER SET charset_name]
  [DEFAULT COLLATE collation_name];

實戰範例:建立資料庫並配置專用使用者

-- 1. 建立資料庫(指定 utf8mb4)
CREATE DATABASE xhkdb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

-- 2. 建立專用使用者並授權(僅允許本機連線)
CREATE USER 'xhkdb'@'localhost' IDENTIFIED BY 'StrongPass123!';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX ON xhkdb.* TO 'xhkdb'@'localhost';

-- 3. 刷新權限生效
FLUSH PRIVILEGES;

說明:

  • IF NOT EXISTS:避免資料庫已存在時報錯。
  • 建議不使用 root 直接連線應用,而是為每個應用建立專用帳號、最小權限原則。
  • utf8mb4 支援完整 Unicode(含 Emoji),優於舊版 utf8。

刪除資料庫

基本語法

DROP DATABASE [IF EXISTS] db_name;

實戰範例

-- 刪除確定存在的資料庫
DROP DATABASE xhkdb;

-- 安全刪除(不存在不報錯)
DROP DATABASE IF EXISTS drop_database;
-- Query OK, 0 rows affected (0.00 sec)

⚠️ 警告:DROP DATABASE 會永久刪除資料庫內所有表、資料、視圖、程序等,且無法恢復。執行前請三思並確認已備份!

查看現有資料庫

SHOW DATABASES;

切換當前資料庫

USE db_name;

常見錯誤與解決

錯誤原因解決
ERROR 1007 (HY000): Can't create database 'x'; database exists資料庫已存在加上 IF NOT EXISTS 或先 DROP
ERROR 1008 (HY000): Can't drop database 'x'; database doesn't exist資料庫不存在加上 IF EXISTS
ERROR 1044 (42000): Access denied for user 'u'@'%' to database 'x'權限不足使用 root 或具 CREATE/DROP 權限帳號

最佳實踐清單

  1. 命名規範:小寫、底線分隔、語義清晰(如 order_db、user_center)。
  2. 字符集統一:全環境 utf8mb4 + utf8mb4_general_ci。
  3. 專用帳號:每應用一組帳號,僅授權所需庫與權限。
  4. 備份先行:任何 DROP 操作前必須確認有可用備份。
copyright © 萬盛學電腦網 all rights reserved