MySQL 中 CHAR 和 VARCHAR M保存长度的问题

手册里面写着CHAR(0~255),VARCHAR(0~65535),是意昧着VARCHAR可以存储的字符比CHAR多?CHAR最多只可以存储255个字符而VARCHAR可以存储65535字符?求详细解释

你的理解是正确的,VARCHAR比CHAR可以存更多的内容。

此外,CHAR是定长的,例如你定义的字段类型是CHAR(32),那么无论你存1个还是10个字符,数据库都是分配32个字符的空间。

而VARCHAR是变长的,如果定义VARCHAR(32)的字段,存1个字符就占1个空间、存10个就占10个空间,不浪费多余空间。

定长的好处是修改方便,查询方便,变长的修改很麻烦,当然这是指系统内部。

备注:以上举例的所说的占用空间是理论值,事实上还需要分配NULL标志空间、数据长度空间,至少要多1~2字节。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网