mysql中varchar和char的区别
在MySQL中,varchar和char的主要区别如下:
1. 长度:char表示定长,长度是固定的,最大长度为255字符。varchar表示变长,长度可变,最大长度为65535个字节。
2. 存储方式:char如果插入的长度小于定义长度时,MySQL会在它的右边用空格字符补足。varchar插入时长度小于定义长度时,还是按实际长度存储,插入多长就存多长。
3. 空间使用:char类型在空间使用上会有浪费,因为其长度固定,会占据多余的空间。varchar类型在空间使用上比较节省,因为它是可变长的,按照实际长度存储。
4. 查找效率:char类型的查找效率高,因为其长度固定,方便程序的存储与查找。varchar类型的查找效率比较低,因为其长度可变,存储效率没有char高。
5. 长度记录:char和varchar都需要额外使用1到2个字节来存长度。
6. 适用场景:定长的数据选用char类型,比如身份证号,手机号,电话等,长度变化很大的可以使用varchar类型。

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