关于mysql中字段定义的类型int、tinyint区别

int 和 tinyint 就是 大碗和小碗的区别, 在它们有限的空间内无论装多少,都会占用各自规定的固定存储空间大小。

int是4个字节, tinyint是1个字节

一个字节占用8位, 也就说 无符号的tinyint最大可表示十进制数为:1111 1111,
换成十进制无符号整数就是 1+2+4+8+16+32+64+128 = 255,
有符号就是-127 ~ 127 即:-2^7~2^7-1.

int(3) 括号中的数字,表示的是显示的数字位数,用数字2举例,如果要求位数不足用0填充的话,则实际应该是002.

结论

  • int(1) 和 int(3) 从存储空间上看没有区别,都是4个字节,但是显示宽度不同.
  • int(1) 和 tinyint(1) 存储空间大小不同,根据类型所能代表的数字范围进行选择。
  • char和varchar这类型的数据,括号后面的数字就是代表的字节个数。所以有时候定义12个字节,但是因为是中文,没有输入12个汉字就满了,因为一个汉字需要2个字节。
本作品采用《CC 协议》,转载必须注明作者和本文链接
学过的东西能说出来那是最妙的,能复盘写下来那也不错
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!