具体对这三种类型的说明不做阐述可以查看mysql帮助文档。
char的总结:
char最大长度是255字符,注意是字符数和字符集没关系。可以有默认值,尾部有空格会被截断。
varchar的总结:
varchar的最大长度65535是指能存储的字节数,其实最多只能存储65532个字节,还有3个字节用于存储长度。注意是字节数这个和字符集有关系。一个汉字字符用utf8占用3字节,用gbk占用2字节。可以有默认值,尾部有空格不会截断。
text的总结:
text和varchar基本相同。text会忽略指定的大小这和varchar有所不同,text不能有默认值。尾部有空格不会被截断。text使用额外的2个字节来存储数据的大小,varchar根据存储数据的大小选择用几个字节来存储。text的65535字节全部用来存储数据,varchar则会占用1-3个字节去存储数据大小。
上面所说的一切只针对mysql,其他数据库可能不同。有不妥的地方请指出。
------------------------------------------------------------------
1 .VARCHAR到一定长度会自动转换成 TEXT的
2.能用VARCHAR搞定的,绝对不用TEXT,否则性能要差很多
3.对于文章内容等一类东西,没得选择,只能用TEXT,为此建议必须拆开存储...