mysql 中的int(3) int(10) int(11)

本文深入解析MySQL中INT类型的特性,澄清了INT(M)中M参数的误解,解释其实际作用为显示宽度而非存储长度,强调了不论INT(3)还是INT(11),在数据库中都占用相同存储空间。

今天面试了个美国海龟,他说他很熟悉mysql。于是 就问问他,mysql 中的 int(3) int(10) int(11) 的区别,结果说感觉

没啥区别。 我说好吧,那你还说很熟悉mysql.

其实,INT[(M)] [UNSIGNED] [ZEROFILL]   M默认为11

普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。

这里的M代表的并不是存储在数据库中的具体的长度,以前总是会误以为int(3)只能存储3个长度的数字,int(11)就会存储11个长度的数字,这是大错特错的。其实当我们在选择使用int的类型的时候,不论是int(3)还是int(11),它在数据库里面存储的都是4个字节的长度,在使用int(3)的时候如果你输入的是10,会默认给你存储位010,也就是说这个3代表的是默认的一个长度,当你不足3位时,会帮你不全,当你超过3位时,就没有任何的影响。int(M) M指示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关。

Mysql类型关键字后面的括号内指定整数值的显示宽度(例如,INT(3)    INT(10)   INT(11) )

 

所以int(10)与int(11)后的括号中的字符表示显示宽度,整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,int类型的字段能存储的数据上限还是2147483647(有符号型)和4294967295(无符号型)。

### 回答1: int10int11都是MySQL中的整数类型,但它们的区别在于它们能够存储的数字范围不同。int10可以存储的数字范围是-2147483648到2147483647,而int11可以存储的数字范围是-9223372036854775808到9223372036854775807。因此,如果需要存储更大的数字,应该选择int11。 ### 回答2: MySQL中的int10int11是两种数据类型,它们之间的主要区别在于其最大值的不同。 int10是指10位带符号整数,其取值范围为-2147483648到2147483647,最大值为10位带符号整数能表示的最大值。 int11是指11位带符号整数,其取值范围为-1099511627776到1099511627775,最大值为11位带符号整数能表示的最大值。 因此,int11的取值范围比int10更大,最大值也更高。但需要注意的是,使用int11需要更多的存储空间,因为它需要11个字节来存储,而int10只需要4个字节。 在实际使用中,我们需要根据具体的需求和存储空间来选择使用int10还是int11,如果需要更大的取值范围,可以选择int11,但需要注意它的存储空间较大。同时,对于一些较小的数值,使用int11会浪费存储空间,此时可以选择int10进行存储。 ### 回答3MySQL中的int类型用于存储整型数据。其中int10int11都属于int类型,但它们之间是有一定的区别的。 首先,int10可以存储10位整数,即最大值为2147483647,最小值为-2147483648。而int11可以存储11位整数,即最大值为4294967295,最小值为-4294967296。从数据范围上来看,int11可以存储更大的整数,因此在存储很大的数字时会更加方便,而int10的数据范围则相对较小。 其次,由于int11需要占用更多的存储空间,所以它与int10的存储空间也有所区别。int10占用4个字节,而int11占用5个字节。这意味着在存储相同数量的数据时,int10占用的空间会更小,而int11则需要更多的存储空间。 除了这些差异之外,int10int11在使用和处理上没有其他显著的区别。它们都是整型数据类型,支持常规的整数计算和比较操作。当在MySQL中定义表格时,可以根据具体需求选择使用哪种数据类型。 总的来说,int10int11的区别在于它们的数据范围和存储空间大小。对于小型项目来说,使用int10足以满足需求,而在需要存储较大的整型数据时可以选择int11。但是,应该注意的是,为了避免内存浪费,并避免出现溢出等问题,在选择具体的数据类型时还应注意合理匹配。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值