10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册摘录

10.3.9字符集和排序规则赋值示例

下面的例子展示了MySQL如何确定默认字符集和排序值。

例1:表和列定义

CREATE TABLE t1 (c1 CHAR(10) CHARACTER SET latin1 COLLATE latin1_german1_ci) DEFAULT CHARACTER SET latin2 COLLATE latin2_bin;

这里我们有一列alatin1字符集和latin1_german1_ci排序。定义是明确的,所以很简单。请注意,存储latin1latin2表格

例2:表和列定义

CREATE TABLE t1 (c1 CHAR(10) CHARACTER SET latin1) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;

这次我们有一列alatin1字符集和默认的排序规则。虽然看起来很自然,但默认的排序规则不是从表级别获取的。相反,因为默认的排序规则latin1总是latin1_swedish_ci、列c1有整理吗latin1_swedish_ci(不latin1_danish_ci).

例3:表和列定义

CREATE TABLE t1 (c1 CHAR(10)) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;

我们有一个带有默认字符集和默认排序规则的列。在这种情况下,MySQL检查表级别以确定列字符集和排序规则。因此,列的字符集c1latin1它的排序是latin1_danish_ci

示例4:数据库、表和列定义

CREATE DATABASE d1 DEFAULT CHARACTER SET latin2 COLLATE latin2_czech_ci;使用d1;CREATE TABLE t1 (c1 CHAR(10));

创建列时无需指定其字符集和排序规则。我们也没有在表级别指定字符集和排序规则。在这种情况下,MySQL检查数据库级别,以确定表设置,然后成为列设置。)因此,列的字符集c1latin2它的排序是latin2_czech_ci