mysql tinyint(1)tinyint(2)tinyint(3)tinyint(4)区别 详解tinyint()取值范围变化
微wx笑 2022-10-14【数据库】 5 0关键字: mysql tinyint
一直对mysql中的整形存在误区,想当然的认为tinyint(1)的取值范围就是0-1之间,int()后面数字越大取值范围就越大,相当然每次还想想后面数字放多少合适,其实这都存在误区.首先
一直对mysql中的整形存在误区,想当然的认为tinyint(1)的取值范围就是0-1之间,int()后面数字越大取值范围就越大,相当然每次还想想后面数字放多少合适,其实这都存在误区.
首先tinyint(1)tinyint(2)tinyint(3)tinyint(4)取值范围相同
tinyint(1)tinyint(2)tinyint(3)tinyint(4)可用于存储的取值范围都是相同的,我们在工作中一般都会是设置无符号的不补零的情况,青云志范围为0-255之间.
其中tinyint(m)m不能无限大,最大为255,
选择了zerofill就必须是无符号的情况.
总结
1. tinyint(1)tinyint(2)tinyint(3)tinyint(4)在平时工作中括号 里面的值设置多少无所谓,取值范围都是相同的,工作中很少会使用补零的情况,所以直接使用tinyint(1)就完事了.
2. 对于int也是同理,大家都喜欢用int(11),统统int(11)就行,反正取值范围都是相同的
附带各取值类型表格.
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
TINYINT | 1 byte | (-128,127) | (0,255) | 小整数值 |
SMALLINT | 2 bytes | (-32768,32767) | (0,65535) | 大整数值 |
MEDIUMINT | 3 bytes | (-8388608,8388607) | (0,16777215) | 大整数值 |
INT或INTEGER | 4 bytes | (-2147483648,2147483647) | (0,4294967295) | 大整数值 |
BIGINT | 8 bytes | (-9223372036854775808,9223372036854775807) | (0,18446744073709551615) | 极大整数值 |
FLOAT | 4 bytes | (-3.402823466E+38,-1.175494351E-38),0,(1.175494351E-38,3.402823466351E+38) | 0,(1.175494351E-38,3.402823466E+38) | 单精度浮点数值 |
DOUBLE | 8 bytes | (-1.7976931348623157E+308,-2.2250738585072014E-308),0,(2.2250738585072014E-308,1.7976931348623157E+308) | 0,(2.2250738585072014E-308,1.7976931348623157E+308) | 双精度浮点数值 |
DECIMAL | 对DECIMAL(M,D),如果M>D,为M+2否则为D+2 | 依赖于M和D的值 | 依赖于M和D的值 | 小数值 |
本文为转载文章,版权归原作者所有,不代表本站立场和观点。