下午还是元气满满的小黄鸭呀!!!!!!
mysql中经常会被问到char和varchar的区别,为了拿起手机就能看到(在手机安装csdn),故整理一下。
区别:
- .都是用来存储字符串的,char是一种固定长度的类型,varchar则是一种可变长度的类型
- char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足。在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节)。举个例子:a char(10), b varchar(10),a和b同时存入'lala',a是10个字节,b是5个字节。
- char会自动删除插入数据的尾部空格,varchar不会自动删除。
- char是固定长度,所以它的处理速度比varchar的速度要快。但是它的缺点是浪费存储空间。所以对存储不大,但是在速度上有要求的可以使用char类型,反之可以使用varchar类型来使用。