CHAR và VARCHAR đều là kiểu dữ liệu ký tự ASCII và gần như giống nhau nhưng chúng khác nhau ở khâu lưu trữ và truy xuất dữ liệu từ cơ sở dữ liệu. Sau đây là một số khác biệt quan trọng giữa CHAR và VARCHAR trong MySQL -
Loại dữ liệu CHAR | Loại dữ liệu VARCHAR |
Tên đầy đủ của nó là CHARACTER | Tên đầy đủ của nó là BIẾN KÝ TỰ |
Nó lưu trữ các giá trị theo độ dài cố định và được đệm bằng các ký tự khoảng trắng để khớp với độ dài được chỉ định | VARCHAR lưu trữ các giá trị ở độ dài thay đổi cùng với tiền tố độ dài 1 byte hoặc 2 byte và không được đệm bằng bất kỳ ký tự nào |
Nó có thể chứa tối đa 255 nhân vật. | Nó có thể chứa tối đa 65.535 ký tự. |
Nó sử dụng cấp phát bộ nhớ tĩnh. mysql>create table emp(name CHAR(20)); Query OK, 0 rows affected (0.25 | Nó sử dụng cấp phát bộ nhớ động. mysql>create table emp1(name VARCHAR(20)); Query OK, 0 rows affected (0.21 |