char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足(在检索操作中那些填补出来的空格字符将被去掉)。而在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节)。

char是一种固定长度的类型,varchar则是一种可变长度的类型。

例如:a char(10)和b varchar(10),都存入'abc',则a占10个字节,b占3个字节;

CHAR和VARCHAR类型声明的长度表示你想要保存的最大字符数。例如,CHAR(30)可以占用30个字符(可以保存30个字母或者汉字)。

tinyint      1Byte  2^(1*8-1)-1      = 127

smallint     2Byte  2^(2*8-1) -1     = 32767

mediumint    3Byte   2^(3*8-1)-1         = 8388607

int        4Byte   2^(4*8-1)-1         = 2147483647

 

相关文章:

  • 2021-05-14
  • 2021-09-05
  • 2021-10-08
  • 2021-06-15
  • 2021-07-24
  • 2021-04-23
猜你喜欢
  • 2021-12-27
  • 2022-01-02
  • 2021-10-19
  • 2021-07-30
  • 2021-10-18
  • 2022-01-08
  • 2021-10-06
相关资源
相似解决方案