char与varchar的区别

   在mysql中char与varchar类型的不同主要体现在:

   1)char(n)中的n是字符数,范围是0~255(额外需要1到2个字节来存长度)

   2)varchar(n)中的n也是字符数,但是最大值需要通过编码来算,不能超过65535字节(从中还需要拿出1到2个字节来存长度)

         3)一般定长的数据选用char类型,比如身份证号,手机号,电话等,长度变化很大的可以使用varchar类型

         4)注意尾部空格的匹配,特别是插入时和使用like查找时

    具体区别见下表格:

区别charvarchar
最大长度255字符65535个字节,所以括号中最大的字符数还得通过编码来算
是否定长定长,不足的部分用隐藏空格填充不定长
空间使用会有浪费更加节省
查找效率
尾部空格插入时省略插入时不会省略,查找时省略
like查找语句中like后的’ '不会省语句中like后的’ '不会省,字段结尾的空格也不会省

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值