MySQL은 NCHAR을 CHAR 열이 미리 정의된 문자 집합을 사용해야 함을 나타내는 방법으로 정의합니다. Utf8은 MySQL에서 미리 정의된 문자 집합으로 사용됩니다.
예시
아래 예에서는 '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)