面试现场:说说char 和 varchar的区别你了解多少?

下文还是白日梦以自导自演的方式,围绕“说说char 和 varchar区别了解多少?”展开本话题。看看你能抗到第几问吧

换一种写作风格,自导自演面试现场!感觉这样还是比较有趣的,欢迎大家订阅我的MySQL专题,公众号首发!持续更新中~

点击阅读原文,格式会好看一点哦~

点击阅读原文,格式会好看一点哦~

点击阅读原文,格式会好看一点哦~

欢迎关注白日梦,公众号首发!持续连载中

面试现场:说说char 和 varchar的区别你了解多少?


Hi同学,听说你上一面表现的还可以,这一面要不咱继续?

面试现场:说说char 和 varchar的区别你了解多少?


嗯,好啊!

面试现场:说说char 和 varchar的区别你了解多少?


面试现场:说说char 和 varchar的区别你了解多少?


面试现场:说说char 和 varchar的区别你了解多少?


好,说说了解的char和varchar两种数据类型的区别

面试现场:说说char 和 varchar的区别你了解多少?



面试现场:说说char 和 varchar的区别你了解多少?

,char和varchar是MySQL中提供的两种相似的列,都能存储字符或者存储字符串。


比如类型为char(5)的列可以存储5个字符、类型为varchar(5)的列也能存储5个字符。


面试现场:说说char 和 varchar的区别你了解多少?


面试现场:说说char 和 varchar的区别你了解多少?


嗯,那它俩有啥区别?

面试现场:说说char 和 varchar的区别你了解多少?


嗯,它们确实存在区别。对于char类型来说,它的存储的列的长度是不可变的。而varchar类型的列可以存储可变长度的字符串。


面试现场:说说char 和 varchar的区别你了解多少?


面试现场:说说char 和 varchar的区别你了解多少?


嗯,那你说说char类型怎么个长度不可变法呢?

面试现场:说说char 和 varchar的区别你了解多少?


举例说: 

插入时:比如char(5)的列表示这个列占用的存储空间一直是5个字符大小。你可以往类型为char(5)的a列中插入"abc",那"abc"很显然是3个字符,而不是5个字符,此时在MySQL底层会替你将"abc"后面追加两个空格字符成为:"abc  "


检索时:当你往外检索上面提到的a列时,MySQL会自动帮你做一次trim() 操作,帮你去掉最后的空格,返回"abc"。


面试现场:说说char 和 varchar的区别你了解多少?


实战体会一下:插入时MySQL替我们添加空格,检索时替我们去掉空格的例子。


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgwzy.html