在MYSQL当中整形数据的存储有四种,分别是TINYINT SMALLINT MEDIUMINT INT BIGINT,它们的区分如下:
参考链接:
MySQL :: MySQL 8.0 Reference Manual :: 11.1.2 Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT
SMALLINT表示范围是-2^15到2^15-1,INT表示范围是-2^31到2^31-1。
需要注意的是INT型是区分有符号数与无符号数的,在MYSQL建表时的length是只表示用于显示的位数。例如INT(M)在integer数据类型中M表示最大显示宽度,M的值跟INT(M)所占多少存储空间并无关系,和数字位也无关,INT(3)、INT(4)、INT(5)都会占用4个字节的空间。
同时只有在参数表达式是bigint型的数据类型时,函数才返回bigint。