char和varchar的区别

区别一:char的长度是可变的,varchar是不可变的。

字段b:类型char(10), 值为:abc,存储为:abc            (abc+7个空格)

字段d:类型varchar(10),值为:abc,存储为:abc (自动变为3个的长度)

区别二:char最多可以存放255个字符

varchar的最大长度为65535个字节,varchar可存放的字符数跟编码有关

字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766个字符

字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845个字符

区别三:char存取数据快,因为其长度固定,方便程序的存储和查找,varchar以空间效率为首位。

区别四:char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;而varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节。

两者的存储数据都非unicode的字符数据。

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值