[NATIONAL] VARCHAR(M) [CHARACTER SET charset_name] [COLLATE
collation_name]

A variable-length string. M represents the maximum column length. The
range of M is 1 to 255 before MySQL 4.0.2, and 0 to 255 as of MySQL
4.0.2.

Note: Trailing spaces are removed when VARCHAR values are stored. This
differs from the standard SQL specification.

In MySQL 4.1, a VARCHAR 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, VARCHAR(500) is converted to TEXT, and
VARCHAR(200000) is converted to MEDIUMTEXT. This is a compatibility
feature. However, this conversion affects trailing-space removal.

VARCHAR is shorthand for CHARACTER VARYING.
