投稿 资料上传 搜索
您现在的位置是: 首页 > 文章 > 正文

mysql中int(10)和char(10),varchar(10)区别是什么?

1.首先含义不相同,首先int(10)的10表示显示的数据的长度,不是存储数据的大小;

而chart(10)和varchar(10)的10表示存储数据的大小,即表示存储多少个字符。

比如:

a. int(10) 10指示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关

b. char(10) 10位固定字符串,不足补空格 最多10个字符
c. varchar(10) 10位可变字符串,不足补空格 最多10个字符

2.char(10)和varchar(10) 也是有区别的,char(10)表示存储定长的10个字符,不足10个就用空格补齐,占用更多的存储空间,而varchar(10)表示存储10个变长的字符,存储多少个就是多少个,空格也按一个字符存储,这一点是和char(10)的空格不同的,char(10)的空格表示占位不算一个字符。

3.char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的。

4.char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;而varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节,两者的存储数据都非unicode的字符数据。

注:以上为个人见解,仅供参考!


转载于:

文章标签:
阿里云服务器采购季
给作者打赏,鼓励TA抓紧创作!
评论