vlambda博客
学习文章列表

[MySQL] 整数类型简述

取值范围


有符号最小值

有符号最大值
TINYINT -128 127
SMALLINT -32768 32767
MEDIUMINT -8388608 8388607
INT -2147483648 2147483647
BIGINT -263 263-1



无符号最小值 无符号最大值
TINYINT 0 255
SMALLINT 0 65535
MEDIUMINT 0 16777215
INT 0 4294967295
BIGINT 0 264-1


有符号类型与 Java 整数类型的对应关系

MySQL
Java
TINYINT byte
SMALLINT short
MEDIUMINT -
INT int
BIGINT long


占用存储


存储 (Bytes)

TINYINT 1
SMALLINT 2
MEDIUMINT 3
INT 4
BIGINT 8


显示宽度

不会限制取值范围,

仅当同时设置 Zero Fill 时生效,

设置 Zero Fill 的同时会自动设置 Unsigned,

创建表,设置两个字段,

CREATE TABLE `test` ( `num_first` int DEFAULT NULL, `num_second` int(4) unsigned zerofill DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

填充数据,

insert into test(num_first,num_second) values(1,1),(12345,12345);

查询结果

1 000112345 12345