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

手册里面写着CHAR(0~255),VARCHAR(0~65535),是意昧着VARCHAR可以存储的字符比CHAR多?CHAR最多只可以存储255个字符而VARCHAR... 手册里面写着CHAR(0~255),VARCHAR(0~65535),是意昧着VARCHAR可以存储的字符比CHAR多?CHAR最多只可以存储255个字符而VARCHAR可以存储65535字符?求详细解释 展开
 我来答
阳光上的桥
推荐于2017-09-26 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65812
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
你的理解是正确的,VARCHAR比CHAR可以存更多的内容。

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

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

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

备注:以上举例的所说的占用空间是理论值,事实上还需要分配NULL标志空间、数据长度空间,至少要多1~2字节。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式