总结自:https://www.cnblogs.com/mjbrian/p/6866263.html
char: 定长,长度范围是0~255. 当长度不足255时,用空格来填充剩下的字符。因此在读取数据时,char类型的数据要进行处理,把后面的空格去除。
varchar: 变长,在5.0.3以下的版本中的最大长度限制为255,而在5.0.3及以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据(起始位和结束位占去了3个字节),也就是说,在5.0.3以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以在高版本中使用可变长的varchar来存放,这样就能有效的减少数据库文件的大小。
text: 变长,最大长度是2的16次方-1,最大
1. 经常变化或不知道长度的字段用varchar
2. 知道固定长度的用char
3. 超过255字符的只能用varchar或者text
4. 尽量用varchar,除非非常大,只能用text