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

MySQL 建立與修改資料庫語法完整指南

     編輯:MySQL 綜合教學

MySQL 建立與修改資料庫語法完整指南

在 MySQL 中,資料庫的建立與修改是資料庫管理的基礎操作。本文將詳細介紹 CREATE DATABASE 與 ALTER DATABASE 的語法、參數選項以及實務注意事項,幫助您掌握資料庫結構管理的核心技能。

一、建立資料庫(CREATE DATABASE)

建立資料庫的基本語法如下:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification [, create_specification] ...]

核心參數說明

  • CREATE DATABASE / CREATE SCHEMA:兩者功能完全相同,用於建立新資料庫。執行此指令需要擁有 CREATE 權限。
  • IF NOT EXISTS:防止錯誤發生。若資料庫已存在且未加此選項,MySQL 會拋出錯誤;加上後僅會發出警告並跳過建立。
  • db_name:資料庫名稱,建議使用有意義的英文名稱,避免使用保留字。

資料庫特性規範(create_specification)

透過 create_specification 可指定資料庫的預設字元集與排序規則,這些設定會儲存在資料庫目錄下的 db.opt 檔案中:

create_specification:
    [DEFAULT] CHARACTER SET charset_name
  | [DEFAULT] COLLATE collation_name
  • CHARACTER SET:指定資料庫預設字元集(如 utf8mb4、gbk)。未指定時採用伺服器預設值。
  • COLLATE:指定資料庫預設排序規則(如 utf8mb4_general_ci、gbk_chinese_ci),影響字串比較與排序行為。

底層實作機制

MySQL 以目錄形式管理資料庫:

  • 執行 CREATE DATABASE 時,MySQL 在資料目錄下建立同名目錄與 db.opt 檔案。
  • 新建資料庫初始不包含任何資料表,因此僅建立目錄結構。
  • 若手動在資料目錄下建立目錄(如使用 mkdir),MySQL 也會將其視為資料庫並顯示在 SHOW DATABASES 結果中。

二、修改資料庫(ALTER DATABASE)

修改資料庫全域特性的語法如下:

ALTER {DATABASE | SCHEMA} [db_name] alter_specification [, alter_specification] ...

核心參數說明

  • ALTER DATABASE / ALTER SCHEMA:功能相同,用於變更資料庫的全域特性(字元集、排序規則)。需要 ALTER 權限。
  • db_name:可省略,省略時針對目前預設資料庫生效。
  • 特性變更同樣寫入 db.opt 檔案。

可修改的特性(alter_specification)

alter_specification:
    [DEFAULT] CHARACTER SET charset_name
  | [DEFAULT] COLLATE collation_name
  • CHARACTER SET:變更資料庫預設字元集。注意:此操作不會自動轉換現有資料表或資料的字元集,僅影響後續新建物件的預設值。
  • COLLATE:變更資料庫預設排序規則,同樣僅影響後續新建物件。

三、實務建議與最佳實踐

  1. 統一字元集:建立資料庫時明確指定 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,避免編碼亂碼問題。
  2. 善用 IF NOT EXISTS:部署腳本中務必加上此選項,確保冪等性。
  3. 謹慎變更字元集:生產環境修改資料庫字元集前,必須評估現有資料相容性,建議先在測試環境驗證。
  4. 權限最小化:僅授予必要的 CREATE、ALTER 權限給特定帳號。

四、常用指令速查

操作指令範例
建立資料庫(指定字元集)CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
安全建立(不存在才建立)CREATE DATABASE IF NOT EXISTS mydb;
修改資料庫字元集ALTER DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
查看資料庫建立語句SHOW CREATE DATABASE mydb;
列出所有資料庫SHOW DATABASES;

掌握資料庫建立與修改語法,是 MySQL 管理的基石。合理規劃字元集與排序規則,能從源頭避免許多編碼與排序相關的疑難雜症。

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