mysql中int(x)与int以及varchar与char的区别

mysql中int(x)与int以及varchar与char的区别


前言

在使用mysql进行数据库设计过程中,进行元数据定义时,需要清楚的知道各个数据类型的区别,方便我们进行规范的设计。数据库设计不规范,在开发过程中将导致意想不到的麻烦。因此,我们需要理清基本的概念。下面,我将对我们经常使用的int、char、varchar进行简单概括,希望看到的朋友们积极留言,欢迎指正,共同学习。

一、int(x)与int

比如我想表示一个整型值就可以使用int,至于int可以表示的数值范围大家可以查阅资料。例如:存储123456,数据类型设计成int(x)或者int,我们查询出来的值都是123456,但如果我增加auto_zerofill后,再次查询显示int(x)出来的值将变为显示x位长度空位补0的值(例如:int(7)来表示123456则显示0123456),int不变。由此,int(x) 中的x不是指显示的长度,而是指前补0的位数。因此,我们没有前补0需求的时候直接设置成int即可。

二、varchar与char

以varchar(10) 与char(10)为例。 varchar表示可变长字符串,char表示不可变长字符串。当我们存储‘123’时,在varchar(10)里对应的长度就是3,从数据库取出也是‘123‘而char(10)对应的长度就是10,从数据库取出则是‘123 ’ 空白表示7位空格占位符。因为varchar是可变的,所以他的存储效率比固定长度的char要低。对于占据空间来说,varchar更节省空间。

猜你喜欢

转载自blog.csdn.net/qq_44092306/article/details/112911353