mysql int bigint tinyint区别?

已经知道:

类型所占字节
bigint8 byte
int4 byte
tinyint1 byte

由于所占字节数是固定的,那为bitint(20)int(3)tinyint(4)又都代表什么意思,跟不写(M)有什么不一样吗?

阅读 3k
2 个回答

https://stackoverflow.com/que...

  1. 使用没什么区别。int(3) 和 int(11) 表达范围是一样的。
  2. int(3) 搭配 zerofill ,前面会补 0

int(2)

image.png

int(2) and ZEROFILL

image.png

所以你其实想问的是“int(3)(3) 代表什么”,而不是“tinyintintbigint的区别”,区别你自己都已经列出来了。

以 MySql 的 InnoDB 引擎为例,int(11)int(1) 在占用的空间上是没有区别的,都是 4 字节。括号里设置的值,表示填充位数,当该字段设置了 zerofill 属性时,如果位数不足,会在前面补零。一般用于数据展示时的对齐,在运算和存储上没有其他区别了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏