理解误区——mysql中tinyint与Java的数据类型的对应关系;tinyint(1) 与tinyint(4)的区别

理解误区1

   在最初学习Java和MySQL的时,一直使用的是Boolean来接受tinyint类型的数据。具体操作:在数据库中设置TINYINT(1),存储0和1;在Java中使用boolean来接受,0代表false,1代表true。在潜意识中一直以为MySQL的tinyint对应Java的Boolean,其实这个是错误的。
   直到后来使用tinyint存不是0和1的数之后,才考虑到Java应该用什么类型接收,才明白之前的那个“潜意识”是错误的。

tinyint用java的什么类型来接收?

tinyint 可以使用int来接受也可以用boolean来接受。

因为数据库并没有boolean这个类型,所以可以使用tinyint来代替,0代表false,1代表true。

理解误区2

   之前总是使用TINYINT(1)来存储0和1的数据,“(1)”虽是显示长度,但是总感觉可以节省空间。其实这是错误的,是和varchar弄混淆了

tinyint(1) 与tinyint(4)的区别?

tinyint默认的位数是4位,但是我们设计数据库就算设计成tinyint(1),也不能影响它占了4个存储空间。

tinyint(1) 和 tinyint(4)中的1和4只有字段指定zerofill是有用,用0来填充,而且需要去指定zerofill才行。

其实他们的存储空间是一样的。
如tinyint(4),如果实际值是2,如果列指定了zerofill,查询结果就是0002,左边用0来填充。

  • 14
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值