文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
手冊頁 (TGZ) - 258.5Kb
手冊頁 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  資料表字元集與排序規則

12.3.4 資料表字元集與排序規則

每個資料表都有一個資料表字元集和資料表排序規則。CREATE TABLEALTER TABLE 陳述式具有可選的子句,用於指定資料表字元集和排序規則

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

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

範例

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

MySQL 會以下列方式選擇資料表字元集和排序規則

  • 如果同時指定 CHARACTER SET charset_nameCOLLATE collation_name,則會使用字元集 charset_name 和排序規則 collation_name

  • 如果指定 CHARACTER SET charset_name 而未指定 COLLATE,則會使用字元集 charset_name 及其預設排序規則。若要查看每個字元集的預設排序規則,請使用 SHOW CHARACTER SET 陳述式或查詢 INFORMATION_SCHEMA CHARACTER_SETS 資料表。

  • 如果指定 COLLATE collation_name 而未指定 CHARACTER SET,則會使用與 collation_name 相關聯的字元集和排序規則 collation_name

  • 否則 (未指定 CHARACTER SETCOLLATE),則會使用資料庫字元集和排序規則。

如果未在個別資料行定義中指定資料行字元集和排序規則,則資料表字元集和排序規則會用作資料行定義的預設值。資料表字元集和排序規則是 MySQL 的擴充功能;標準 SQL 中沒有此類功能。