数据库您现在的位置是:首页 > 博客日志 > 数据库

mysql tinyint(1)tinyint(2)tinyint(3)tinyint(4)区别 详解tinyint()取值范围变化

<a href='mailto:'>微wx笑</a>的头像微wx笑 2022-10-14数据库 5 0关键字: mysql  tinyint  

一直对mysql中的整形存在误区,想当然的认为tinyint(1)的取值范围就是0-1之间,int()后面数字越大取值范围就越大,相当然每次还想想后面数字放多少合适,其实这都存在误区.首先

一直对mysql中的整形存在误区,想当然的认为tinyint(1)的取值范围就是0-1之间,int()后面数字越大取值范围就越大,相当然每次还想想后面数字放多少合适,其实这都存在误区.VBW无知

首先tinyint(1)tinyint(2)tinyint(3)tinyint(4)取值范围相同

tinyint(1)tinyint(2)tinyint(3)tinyint(4)可用于存储的取值范围都是相同的,我们在工作中一般都会是设置无符号的不补零的情况,青云志范围为0-255之间.一张图看tinyint不同取值范围区别
其中tinyint(m)m不能无限大,最大为255,
选择了zerofill就必须是无符号的情况.VBW无知

总结

1. tinyint(1)tinyint(2)tinyint(3)tinyint(4)在平时工作中括号 里面的值设置多少无所谓,取值范围都是相同的,工作中很少会使用补零的情况,所以直接使用tinyint(1)就完事了.

2. 对于int也是同理,大家都喜欢用int(11),统统int(11)就行,反正取值范围都是相同的

附带各取值类型表格.VBW无知

类型大小范围(有符号)范围(无符号)用途
TINYINT1 byte(-128,127)(0,255)小整数值
SMALLINT2 bytes(-32768,32767)(0,65535)大整数值
MEDIUMINT3 bytes(-8388608,8388607)(0,16777215)大整数值
INT或INTEGER4 bytes(-2147483648,2147483647)(0,4294967295)大整数值
BIGINT8 bytes(-9223372036854775808,9223372036854775807)(0,18446744073709551615)极大整数值
FLOAT4 bytes(-3.402823466E+38,-1.175494351E-38),0,(1.175494351E-38,3.402823466351E+38)0,(1.175494351E-38,3.402823466E+38)单精度浮点数值
DOUBLE8 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的值小数值


VBW无知


VBW无知

本文为转载文章,版权归原作者所有,不代表本站立场和观点。

很赞哦! () 有话说 ()