文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
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 8.4 将国家字符集解释为 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.