下文还是白日梦以自导自演的方式,围绕“说说char 和 varchar的区别你了解多少?”展开本话题。看看你能抗到第几问吧
换一种写作风格,自导自演面试现场!感觉这样还是比较有趣的,欢迎大家订阅我的MySQL专题,公众号首发!持续更新中~
点击阅读原文,格式会好看一点哦~
点击阅读原文,格式会好看一点哦~
点击阅读原文,格式会好看一点哦~
欢迎关注白日梦,公众号首发!持续连载中
Hi同学,听说你上一面表现的还可以,这一面要不咱继续?
嗯,好啊!
好,说说你了解的char和varchar两种数据类型的区别吧
好
,char和varchar是MySQL中提供的两种相似的列,都能存储字符或者存储字符串。
比如类型为char(5)的列可以存储5个字符、类型为varchar(5)的列也能存储5个字符。
嗯,那它俩有啥区别?
嗯,它们确实存在区别。对于char类型来说,它的存储的列的长度是不可变的。而varchar类型的列可以存储可变长度的字符串。
嗯,那你说说char类型怎么个长度不可变法呢?
举例说:
插入时:比如char(5)的列表示这个列占用的存储空间一直是5个字符大小。你可以往类型为char(5)的a列中插入"abc",那"abc"很显然是3个字符,而不是5个字符,此时在MySQL底层会替你将"abc"后面追加两个空格字符成为:"abc "
检索时:当你往外检索上面提到的a列时,MySQL会自动帮你做一次trim() 操作,帮你去掉最后的空格,返回"abc"。
实战体会一下:插入时MySQL替我们添加空格,检索时替我们去掉空格的例子。