mysql 8.0 以上版本而言:
tinyint 一个字节8位,有符号的情况下 取值范围是 -128~127,无符号的情况下取值范围0~255,零填充的时候,默认设置无符号
smallint 两个字节16 位,有符号的情况下取值范围 是- 32768~32767,无符号的情况下取值范围是 0~65535
int(2) --> smallint
存储整数范围 2个字节 ,1个字节8位, 对应的数据长度为 -2^15~ 2^15-1 (-32,768~32,767)
int(4) --> int
存储整数范围 4个字节,1个字节8位, 对应的数据长度位 -2^31~ 2^31-1 (-2147483648~2147483647 )
int(8) --> bigint
存储整数范围 8个字节,1个字节8位, -2^63到 2^63-1
(-9223372036854775808~9223372036854775807)
decimal 取决于括号里面的数字(16,2) 表示的是14位整数,2位小数
char 存储的是字符,char(5)表示能存储5个字符, 可以不设置位数,不设置位数的话,只有一位字符
varchar(128) 中的的数字表示字符,表示能存储128个字符