您现在的位置是:首页 > 技术交流技术交流

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

上善若水2020-07-18 15:52:36【技术交流】 20026人已围观

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

一直对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不同取值范围区别
其中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的值 小数值

Tags: mysql

很赞哦! (69)

相关文章

文章评论

站点信息

  • 建站时间:2019-10-24
  • 网站程序:Thinkphp6 Layui
  • 文章统计247篇文章
  • 标签管理标签云
  • 统计数据cnzz统计
  • 微信公众号:扫描二维码,关注我们