What is the difference between CHAR and VARCHAR in MySQL?


CHAR and VARCHAR are both ASCII character data types and almost same but they are different at the stage of storing and retrieving the data from the database. Following are some important differences between CHAR and VARCHAR in MySQL −

CHAR Data Type
VARCHAR Data Type
Its full name is CHARACTER
Its full name is VARIABLE CHARACTER
It stores values in fixed lengths and are padded with space characters to match the specified length
VARCHAR stores values in variable length along with 1-byte or 2-byte length prefix and are not padded with any characters
It can hold a maximum of 255 characters.
It can hold a maximum of 65,535 characters.
It uses static memory allocation.
mysql>create table emp(name CHAR(20));
Query OK, 0 rows affected (0.25
It uses dynamic memory allocation.
mysql>create table emp1(name VARCHAR(20));
Query OK, 0 rows affected (0.21

Updated on: 19-Jun-2020

4K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements