数据库中数据长度到底代表什么呢?

  • 即使已经参加工作快满一年了,但是却连数据库里面数据的长度都一直没搞清楚到底代表什么意思。
  • 在这里插入图片描述
  • 类型是指数据存储类型,这个大家都知道,比如int类型代表4字节(Byte),1字节=8bit,即1B=8b.子节是计算机文件大小的基本计算单位,主要用于应用层,用于客户来识别文件大小的。而bit是用于物理层,数据链路层的传输的,是基于二进制的传输。所以这里int类型可以存储4*8=32位。可以存储十进制-2147483648 到 2,147,483,647。
  • 那么后面的的数据长度代表什么呢?能约束到数据的存储大小么?
  • 当我把为int 类型的长度变为1,username的长度也变为1
  • 在这里插入图片描述
  • 在这里插入图片描述
  • id没问题,而username没存进去。为什么呢?因为这是当为varchar字符类型的时候,这里的长度是指字符的个数。这里长度为1,那么就只能输1个字符。
  • 而int类型却可以,这个长度并没有约束到int类型数字的输入,仍然可以输入-2147483648 到 2,147,483,647。只不过在显示上会有点区别。当Int类型的长度为11时候,插入数字为1的时候,那么就是0000000001.存储的时候,前面自动补齐10个零,当长度为1的时候,就不用补零了,当然使用mysql看不出来,他做了优化,取出来显示的时候是把0给去掉了。所以int类型的长度对于平常开发来说,实际用途并不大。
  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值