คำอธิบาย
ใน MySQL NVARCHAR เป็น Alias ของ VARCHAR ระบบจะแปลงเป็น VARCHAR อัตโนมัติ พร้อมแสดง Warning
ขั้นตอนการสร้างตาราง
mysql> create table DemoTable (
StudentName NVARCHAR(40),
StudentCountryName VARCHAR(50) );
Query OK, 0 rows affected, 1 warning (0.49 sec)
ตรวจสอบโครงสร้างตาราง
mysql> desc DemoTable;
ผลลัพธ์ (NVARCHAR กลายเป็น VARCHAR):
+--------------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------+-------------+------+-----+---------+-------+ | StudentName | varchar(40) | YES | | NULL | | | StudentCountryName | varchar(50) | YES | | NULL | | +--------------------+-------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
การเพิ่มข้อมูลและทดสอบ
mysql> insert into DemoTable values('Chris', 'US');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('Tom', 'UK');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('David', 'AUS');
Query OK, 1 row affected (0.11 sec)
แสดงข้อมูล
mysql> select * from DemoTable;
ผลลัพธ์:
+-------------+--------------------+ | StudentName | StudentCountryName | +-------------+--------------------+ | Chris | US | | Tom | UK | | David | AUS | +-------------+--------------------+ 3 rows in set (0.00 sec)
คำอธิบายเพิ่มเติม
- NVARCHAR = National VARCHAR (สำหรับ Unicode/Character Set ต่างประเทศ)
- MySQL จัดการ Unicode ด้วย CHARACTER SET (utf8mb4) และ COLLATION แทน
- ไม่จำเป็นต้องใช้ NVARCHAR ให้ใช้ VARCHAR พร้อมกำหนด CHARACTER SET utf8mb4 แทน
- รองรับภาษาไทย, จีน, ญี่ปุ่น, อีมอจิ ได้เต็มที่
แนะนำ: ระบุ Character Set ชัดเจน
CREATE TABLE DemoTable (
StudentName VARCHAR(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
) CHARACTER SET utf8mb4;