MySQL 中的 NCHAR 有什么用?

mysqlmysqli database

MySQL 将 NCHAR 定义为指示 CHAR 列应使用预定义字符集的一种方式。MySQL 使用 Utf8 作为其预定义字符集。

示例

在下面的示例中,我们正在创建一个名为"Student1"的表。在此表中,我们用三种不同的声明样式声明三列的数据类型,这些声明样式彼此相当等同。这全归功于 NCHAR。

mysql> Create table Student1(Name Char(10) character set utf8, Address NATIONAL CHARACTER(10), FatherName NCHAR(10));
   Query OK, 0 rows affected (0.25 sec)

现在检查表的状态,借助下面的查询,我们可以看到所有声明样式都是相同的。

mysql> show create table Student1\G

*************************** 1. row ***************************
Table: Student1
Create Table: CREATE TABLE `student1` (
    `Name` char(10) CHARACTER SET utf8 DEFAULT NULL,
    `Address` char(10) CHARACTER SET utf8 DEFAULT NULL,
    `FatherName` char(10) CHARACTER SET utf8 DEFAULT NULL
    ) ENGINE = InnoDB DEFAULT CHARSET = latin1

1 row in set (0.00 sec)

相关文章