CHAR และ VARCHAR เป็นทั้งประเภทข้อมูลอักขระ ASCII และเกือบจะเหมือนกัน แต่จะต่างกันในขั้นตอนการจัดเก็บและดึงข้อมูลจากฐานข้อมูล ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่าง CHAR และ VARCHAR ใน MySQL -
ประเภทข้อมูล CHAR | ประเภทข้อมูล VARCHAR |
ชื่อเต็มคือ CHARACTER | ชื่อเต็มคือ VARIABLE CHARACTER |
มันเก็บค่าในความยาวคงที่และเสริมด้วยช่องว่างเพื่อให้ตรงกับความยาวที่ระบุ | VARCHAR เก็บค่าในความยาวผันแปรพร้อมกับคำนำหน้าความยาว 1 ไบต์หรือ 2 ไบต์และไม่ได้เสริมด้วยอักขระใด ๆ |
เก็บได้สูงสุด 255 ตัวอักษร | สามารถมีอักขระได้สูงสุด 65,535 ตัว |
มันใช้การจัดสรรหน่วยความจำแบบคงที่mysql>create table emp(name CHAR(20)); Query OK, 0 rows affected (0.25 | ใช้การจัดสรรหน่วยความจำแบบไดนามิกmysql>create table emp1(name VARCHAR(20)); Query OK, 0 rows affected (0.21 |