mysql中varchar最多能存储65535个字节的数据。
varchar 的最大长度受限于最大行长度(max row size,65535bytes)。65535并不是一个很精确的上限,可以继续缩小这个上限。65535个字节包括所有字段的长度,变长字段的长度标识(每个变长字段额外使用1或者2个字节记录实际数据长度)、NULL标识位的累计。
扩展资料
1、varchar存储规则:
mysql4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)
mysql5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 。
2、varchar受编码长度限制规则:
字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766
字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。
SELECT LENGTH("demo") "英文(demo)",LENGTH("。") "中文符号(。)",
LENGTH("测试") "中文(测试)",
CHAR_LENGTH("demo") "CHAR - 英文(demo)",
CHAR_LENGTH("。") "CHAR - 中文符号(。)",
CHAR_LENGTH("测试") "CHAR - 中文(测试)"
可以不限制,如果你不设置mysql会根据所选字段选择默认长度的。例如:char型。默认长度是255,但是你所存储的数据只需要10个字符。这样的话其余的245个字符就浪费了,而且还站着空间,不能存储其他的任何东西了。用一句俗话说就是“占着茅坑不拉屎”。
所以设置字段长度的其中一个好处就是节省空间,按需所取。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)