   [NATIONAL] CHAR(M) [BINARY | ASCII | UNICODE]

A fixed-length string that is always right-padded with spaces to the
specified length when stored.  M represents the column length.  The
range of M is 0 to 255 characters (1 to 255 prior to MySQL 3.23).

Note: Trailing spaces are removed when CHAR values are
retrieved.

From MySQL 4.1.0, a CHAR column with a length specification greater
than 255 is converted to the smallest TEXT type that can hold values
of the given length.  For example, CHAR(500) is converted to
TEXT, and CHAR(200000) is converted to MEDIUMTEXT.
This is a compatibility feature.  However, this conversion causes the
column to become a variable-length column, and also affects trailing-space
removal.

CHAR is shorthand for CHARACTER.
NATIONAL CHAR (or its equivalent short form, NCHAR) is the
standard SQL way to define that a CHAR column should use the default
character set.  This is the default in MySQL.

The BINARY attribute causes sorting and comparisons to be
case sensitive.

From MySQL 4.1.0 on, the ASCII attribute can be specified. It
assigns the latin1 character set to a CHAR column.

From MySQL 4.1.1 on, the UNICODE attribute can be specified. It
assigns the ucs2 character set to a CHAR column.

MySQL allows you to create a column of type CHAR(0). This is mainly
useful when you have to be compliant with some old applications that depend
on the existence of a column but that do not actually use the value.  This
is also quite nice when you need a column that can take only two values: A
CHAR(0) column that is not defined as NOT NULL occupies only
one bit and can take only the values NULL and '' (the empty
string).

   CHAR
This is a synonym for CHAR(1).
