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


(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

总结起来,有几点:

  1. 经常变化的字段用varchar
  2. 知道固定长度的用char
  3. 尽量用varchar
  4. 超过255字符的只能用varchar或者text
  5. 能用varchar的地方不用text
 MEDIUMTEXT最大长度为16,777,215。
 LONGTEXT最大长度为4,294,967,295
Text主要是用来存放非二进制的文本,如论坛帖子,题目,或者<a target=_blank target="_blank" rel="nofollow" href="https://www.baidu.com/s?wd=%E7%99%BE%E5%BA%A6%E7%9F%A5%E9%81%93&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dBuhD3mWFWPAPbPH7Wmvcz0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnWnkPHfzrHRd" class="baidu-highlight">百度知道</a>的问题和回答之类。

你可能感兴趣的:(mysql中char,varchar与text类型的区别和选用)