文档首页
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 作为此预定义的字符集。例如,以下数据类型声明是等效的

Press CTRL+C to copy
CHAR(10) CHARACTER SET utf8 NATIONAL CHARACTER(10) NCHAR(10)

以下也是等效的

Press CTRL+C to copy
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') 来创建国家字符集中的字符串。以下语句是等效的

Press CTRL+C to copy
SELECT N'some text'; SELECT n'some text'; SELECT _utf8'some text';

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

Press CTRL+C to copy
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.