mysql中char和varchar有什么区别?

时间:2013.09.04 发布人:lidandaayg

mysql中char和varchar有什么区别?

已解决问题

谷歌lidandaayg用户在2013.09.04提交了关于“罗云熙mysql中char和varchar有什么区别?”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-07-28T17:00:54。我记得varchar是可变长char不可变
可是刚刚我定义char(3)怎么输入2个字符也可以呢?希望大家能够帮助她。

详细问题描述及疑问:我记得varchar是可变长char不可变
可是刚刚我定义char(3)怎么输入2个字符也可以呢?期待您的答案,我不知道说什么才好,除了谢谢 !

希望以下的回答,能够帮助你。

第1个回答

用户名:xnrgoacgf37  

char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是:

char(表调供皮早鸡站M)类型的**列里,每个旨占用M个字节,如果某个长度小于M,MySQL便显司兰食就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的**列里,每个值只占用刚好够用的字节再加上一个问答用来记录其长度的字节(即总长度为L+1字节).

在M想ySQL中用来判断是否需要进行对据列类型转换的规则

1、自倒在一个**表里,如果每一个**列的长度都侍定的,那么每一个**行的长度也将侍定的.
2、只要**表里有一个**列的长度的可变的侵烈,那么各**行的长度都是可变的.
3、如果某个**表里的种远轻厂术金商伯甚**行的长度是可变的,那么,为了节约存储空间,MySQL会把这个**表里的固定长度类型的**列转换为相应的可变长度类型.
例外:长度小于4个字织哥什望动符的char**列不会被转换为varchar类型