O'Reilly logo

MySQL in a Nutshell by Russell J.T. Dyer

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required