文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


12.3.7 国家字符集

标准 SQL 定义 NCHARNATIONAL CHAR 作为一种方式来指示 CHAR 列应该使用某些预定义的字符集。MySQL 使用 utf8 作为此预定义的字符集。例如,以下数据类型声明是等效的

CHAR(10) CHARACTER SET utf8
NATIONAL CHARACTER(10)
NCHAR(10)

以下也是等效的

VARCHAR(10) CHARACTER SET utf8
NATIONAL VARCHAR(10)
NVARCHAR(10)
NCHAR VARCHAR(10)
NATIONAL CHARACTER VARYING(10)
NATIONAL CHAR VARYING(10)

您可以使用 N'literal' (或 n'literal') 来创建国家字符集中的字符串。以下语句是等效的

SELECT N'some text';
SELECT n'some text';
SELECT _utf8'some text';

MySQL 9.0 将国家字符集解释为 utf8mb3,该字符集现已弃用。因此,使用 NATIONAL CHARACTER 或其同义词之一来定义数据库、表或列的字符集将引发类似于以下内容的警告

NATIONAL/NCHAR/NVARCHAR implies the character set UTF8MB3, which will be
replaced by UTF8MB4 in a future release. Please consider using CHAR(x) CHARACTER
SET UTF8MB4 in order to be unambiguous.