mysql中char,varchar与text类型的区别和选用

 我来答
野人无事不言L
2016-12-03 · TA获得超过1413万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:143.5亿
展开全部
转:
1)char: char不用多说了,它是定长格式的,但是孙孙长度范围是0~255. 当你想要储存一个长度不足255的字符时,mysql会用空格来填充剩下的字符。因此在读取数据时,char类型的数据要进行处理,把后面的空格去除。
(2)varchar: 关于varchar,有的说最大长度是255,也有的说是65535,查阅很多资料后发现是闭段这样的:varchar类型在5.0.3以下的版本中的最大长度限制为255,而在5.0.3及以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节(注意是字节而不是字符!!!)的数据(起始位和结束位占去了3个字节),也就是说,在5.0.3以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以在高版本中使用可变长的varchar来存放,这样就能有效的减少数据库文件的大小则态链。
(3)text:与char和varchar不同的是,text不可以有默认值,其最大长度是2的16次方-1
总结起来,有几点:

经常变化的字段用varchar

知道固定长度的用char

尽量用varchar

超过255字符的只能用varchar或者text

能用varchar的地方不用text
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式