字段类型:mysql中int(3)与int(11)有什么区别吗?优化数据库字段占据磁盘的大小
发布日期:2021-07-01 02:22:56 浏览次数:2 分类:技术文章

本文共 733 字,大约阅读时间需要 2 分钟。

文章目录

案例

int(M)

注意:这里的M代表的并不是存储在数据库中的具体的长度,以前总是会误以为int(3)只能存储3个长度的数字,int(11)就会存储11个长度的数字,这是大错特错的。

其实当我们在选择使用int的类型的时候,不论是int(3)还是int(11),它在数据库里面存储的都是4个字节的长度,在使用int(3)的时候如果你输入的是10,会默认给你存储位010,也就是说这个3代表的是默认的一个长度,当你不足3位时,会帮你不全,当你超过3位时,就没有任何的影响,不会报错。varchar(4)如果你输入5个汉字就会报错,只有int类似的多出位数不会报错,比如double,varchar都会报错

mysql一个char类型能存多少汉字?
首先要明白CHAR(M)到底是什么意思,
CHAR(M)中M指的是字符长度,一个汉字也是只占用了一个字符。CHAR(255)应该至多也能储存255个汉字。

既然是固定占4个字节,那么Int(1),int(2)在存储空间上就差别不大。唯一的区别在于当你设置zerofill才能显现,他会用0补足显示宽度:

声明字段是int类型的那一刻起,int就是占四个字节,不会以为你的M的大小而影响存储在数据库中的具体长度,一个字节8位,也就是4*8=32,可以表示的数字个数是2的32次方(2^32 = 4 294 967 296个数字)。

前天问我 int(10)与int(11)有什么区别,当时觉得就是长度的区别吧,现在看,他们之间除了在存储的时候稍微有点区别外,在我们使用的时候是没有任何区别的。int(10)也可以代表4 294 967 296这个值int(11)也可以代表。

在这里插入图片描述

数值类型

在这里插入图片描述

日期和时间类型

在这里插入图片描述

字符串类型

在这里插入图片描述

转载地址:https://mapengsen.blog.csdn.net/article/details/108624363 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:MySQL快速生成大量测试数据1000万
下一篇:NULL和‘‘,存储空间优化

发表评论

最新留言

不错!
[***.144.177.141]2024年04月27日 19时27分10秒