Appendix A. Datatypes
Every column in a table must be declared as one of the datatypes supported by MySQL. Datatypes can be organized into three basic groups: numeric, date and time, and string. This appendix provides a listing of datatypes along with their limitations.
Numeric Datatypes
Standard SQL numeric datatypes are
allowed: accurate numeric (i.e., BIGINT,
DECIMAL, INTEGER,
MEDIUMINT, NUMERIC,
SMALLINT, and TINYINT) and
approximate numeric datatypes (i.e., DOUBLE
PRECISION, FLOAT, and
REAL).
For all numeric datatypes, you can use the
UNSIGNED and ZEROFILL flags
depending on your needs. If UNSIGNED is omitted,
SIGNED is assumed. A numeric datatype has
different allowable ranges based on whether it's
SIGNED or UNSIGNED. The
ZEROFILL flag instructs MySQL to pad the unused
spaces to the left of a number with spaces. For example, a column
with a datatype set to INT(10) will display the
number 5 as 0000000005. If the ZEROFILL flag is
used, UNSIGNED is assumed for the column. When
subtracting values where one is UNSIGNED, the
results will become UNSIGNED.
For several of the numeric datatypes, a width for displaying may be
specified. This cannot exceed 255. The display width is a factor only
when ZEROFILL is used for the column. You may also
specify the number of digits allowed for the decimals, including the
decimal point.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access