MySQL 8.4 版本注意事項
每個資料表都有一個資料表字元集和資料表排序規則。CREATE TABLE
和 ALTER 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_name
COLLATE
,則會使用字元集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 SET
或COLLATE
),則會使用資料庫字元集和排序規則。
如果未在個別資料行定義中指定資料行字元集和排序規則,則資料表字元集和排序規則會用作資料行定義的預設值。資料表字元集和排序規則是 MySQL 的擴充功能;標準 SQL 中沒有此類功能。