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

MySQL 表級字符集與校對規則設定指南

     編輯:MySQL 資料庫相關知識

語法

CREATE TABLE tbl_name (col_list)
  [DEFAULT CHARACTER SET charset_name [COLLATE collation_name]];

ALTER TABLE tbl_name
  [DEFAULT CHARACTER SET charset_name] [COLLATE collation_name];

範例

CREATE TABLE t1 (...) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;

優先級規則(由高到低)

  1. 同時指定 CHARACTER SET X 與 COLLATE Y → 採用 X + Y。
  2. 僅指定 CHARACTER SET X → 採用 X + X 的預設校對規則。
  3. 均未指定 → 採用伺服器級字符集與校對規則。

欄位級繼承

欄位定義未指定字符集/校對規則時,自動繼承表級設定。表級設定為 MySQL 延伸,標準 SQL 無此層級。

實務建議

  • 資料庫/表/欄位三層級統一使用 utf8mb4 + utf8mb4_unicode_ci(支援完整 Unicode,含 Emoji)。
  • 避免混用 latin1、gbk 等舊編碼,除非兼容歷史系統。
  • 跨表 JOIN 字符集不一致會導致隱式轉換效能損失,設計階段即統一規劃。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved