Numeric Data Types
Standard SQL numeric data types are allowed: accurate numeric data types
(i.e., BIGINT
, DECIMAL
,
INTEGER
, MEDIUMINT
,
NUMERIC
, SMALLINT
, and
TINYINT
) and approximate numeric data types (i.e.,
DOUBLE
and FLOAT
). For all numeric
data types, you can use the UNSIGNED
and
ZEROFILL
flags depending on your needs. If
UNSIGNED
is omitted, SIGNED
is
assumed. A numeric data type 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 zeros. For example, a column with a data type
set to INT(10)
using ZEROFILL
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 data types, you can specify a width for
displaying. This number 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.
Approximate numeric data types store floating-point numbers such as
fractions where an approximation must be made. For instance, an accurate
number, per se, cannot be stored for 1/3 because the decimal point for 3
continues on endlessly. MySQL provides two approximate numeric data types:
FLOAT
and DOUBLE
with their
synonyms.
Following is a list of numeric data types. They’re not organized alphabetically; instead, ...
Get MySQL in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.