MySQL định nghĩa NCHAR như một cách để chỉ ra rằng cột CHAR nên sử dụng bộ ký tự được xác định trước. Utf8 được MySQL sử dụng làm bộ ký tự được xác định trước.
Ví dụ
Trong ví dụ dưới đây, chúng tôi đang tạo một bảng có tên là ‘Student1’. Trong bảng này, chúng tôi đang khai báo các kiểu dữ liệu của ba cột với ba kiểu khai báo khác nhau khá tương đương với nhau. Tất cả là do 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)
Bây giờ khi kiểm tra trạng thái của bảng, với sự trợ giúp của truy vấn bên dưới, chúng ta có thể thấy rằng tất cả các kiểu khai báo đều giống nhau.
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)