mysql数据类型问题
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
posted on 2013-08-29 17:46 andydaopeng 阅读(165) 评论(0) 编辑 收藏 举报