Required Storage and Range for Integer Types Supported by MySQL

Type Storage (Bytes) Minimum Value Signed Minimum Value Unsigned Maximum Value Signed Maximum Value Unsigned
TINYINT 1 -128 0 127 255
SMALLINT 2 -32768 0 32767 65535
MEDIUMINT 3 -8388608 0 8388607 16777215
INT 4 -2147483648 0 2147483647 4294967295
BIGINT 8 -2的63方  0 2的63方-1 2的64方-1

 

TINYINT

TINYINT[(M)] [UNSIGNED] [ZEROFILL]

A very small integer. The signed range is -128 to 127. The unsigned range is 0 to 255.

 

SMALLINT

A small integer. The signed range is -32768 to 32767. The unsigned range is 0 to 65535.

 

MEDIUMINT

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]

A medium-sized integer. The signed range is -8388608 to 8388607. The unsigned range is 0 to 16777215.

 

INT

INT[(M)] [UNSIGNED] [ZEROFILL]

A normal-size integer. The signed range is -2147483648 to 2147483647. The unsigned range is 0 to 4294967295.

INTEGER

INTEGER[(M)] [UNSIGNED] [ZEROFILL]

This type is a synonym for INT.

 

BIGINT

BIGINT[(M)] [UNSIGNED] [ZEROFILL]

A large integer. The signed range is -9223372036854775808 to 9223372036854775807. The unsigned range is 0 to 18446744073709551615.

SERIAL

SERIAL is an alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE.

DEMO

create table serial_test (id SERIAL);

Int Data Type Syntax_字段

从图可知,是无符号的bigint类型,不能为空,主键,自动增长

1个表中,指定多个字段为serial,会报错(Incorrect table definition; there can be only one auto column and it must be defined as a key)

 

BOOL, BOOLEAN

These types are synonyms for TINYINT(1). A value of zero is considered false. Nonzero values are considered true.

0是fase,不为0是true