Accurate Numeric Types

Table A-1 lists accurate numeric types. A few of these types have synonyms for compatibility. A synonym for INTEGER is INT. Synonyms for TINYINT are BIT, BOOL, and BOOLEAN. The datatypes DEC, NUMERIC, and FIXED are synonyms for DECIMAL. If UNSIGNED is used with DECIMAL, negative values are not allowed. The DECIMAL datatype is similar to floating-point numbers, but it’s a fixed-point number. MySQL stores numbers in DECIMAL columns as strings. Therefore, although a numeric range appears in Table A-1, a larger number may be stored in a DECIMAL column. It may be retrieved and displayed as a string, but in a numeric context (i.e., as part of a calculation), it cannot exceed the values shown in the table.

Table A-1. Accurate numeric types

TINYINT[( width )] [UNSIGNED] [ZEROFILL]

 

0 bytes

Unsigned: 0 to 255

Signed: -128 to 127

SMALLINT[( width )] [UNSIGNED] [ZEROFILL]

 

2 bytes

Unsigned: 0 to 65535

Signed: -32768 to 32767

MEDIUMINT[( width )] [UNSIGNED] [ZEROFILL]

3 bytes

Unsigned: 0 to 16777215

Signed: -8388608 to 8388607

INTEGER[(width)] [UNSIGNED][ZEROFILL]

4 bytes

 

Unsigned: 0 to 4294967295

Signed: -2147483648 to 2147483647

BIGINT[(width)] [UNSIGNED][ZEROFILL]

8 bytes

 

Unsigned: 0 to 18446744073709551615

Signed: -9223372036854775808 to 9223372036854775807

DECIMAL[(width[,digits])] [UNSIGNED][ZEROFILL]

-3.402823466E+38 to -1.175494351E-38

0

1.175494351E-38 to 3.402823466E+38

Get MySQL in a Nutshell 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.