这是一个比较基础的问题了,但是我敢肯定有部分人不知道这个,先上图(整型,浮点型来说):
对于整型:
其中的长度,只是最小显示宽度,这个勾选零填充时,看的最明显。tinytint(1bit)、smallint(2bit)、mediumint(3bit)、int(4bit) 、bigint(8bit),
只要插入的值,小于上述范围即可。例如:int(2),最小显示宽度是2,可以插入<=4294967295(无符号)的数值。
看图:
下面是 失败案例:
对于浮点型:
float(size,d),double(size,d),decimal(size,d) ,size是总长度,d是小数点右侧长度。
成功案例:
失败案例:
总长度是3,d也是3,整数只能是零。
对于字符串:
varchar、char的区别就不多说。
这个长度显示的就是字符长度。汉字,英文都是一个字符长度。(其中 英文 1个字节 ,汉字根据编码来定。utf8 是3字节,gbk为2字节,utf8-mb4为4字节。)
成功案例:
失败案例:
不同编码格式下汉字、字母所占字节数:
https://blog.csdn.net/Fenglele_Fans/article/details/78604667