MySQL mysql tinyint(1) vs tinyint(2) vs tinyint(3) vs tinyint(4)

MySQL mysql tinyint(1) vs tinyint(2) vs tinyint(3) vs tinyint(4)

MySQL中的tinyint类型可以存储-128 ~ 127,或是0 ~ 255范围内的整数。而在定义tinyint类型时,还可以指定括号中的数字来规定该类型的宽度,数字的范围是1~4。那么,这个数字的不同究竟会带来什么影响呢?

阅读更多:MySQL 教程

tinyint(1)

当括号中为1时,表示这个tinyint类型只有1个字节的宽度,可以存储的范围是-128 ~ 127。括号中的数字即使大于1,也是没有意义的,例如,定义为tinyint(10)和定义为tinyint(1)没有区别。

tinyint(2)

括号中为2时,会占用2个字节的宽度,可以存储的范围是-32768 ~ 32767。同样地,定义为tinyint(3)或更大的数字也是没有意义的。

tinyint(3)

括号中为3时,会占用3个字节的宽度,可以存储的范围是-8388608 ~ 8388607。此时若定义为tinyint(4),同样也没有区别。

tinyint(4)

括号中为4时,会占用4个字节的宽度,此时可以存储的范围是-2147483648~2147483647。相对于tinyint(1)和tinyint(2),tinyint(3)和tinyint(4)的范围是非常大的,但实际开发中如果知道数据不会那么大,就可以使用更小的宽度来节省空间。

总结

在定义tinyint类型时,括号中的数字即代表了该类型的宽度,不同的宽度会带来不同的存储范围。但是需要注意的是,如果定义的宽度大于实际存储范围,是没有意义的,也不会带来更好的性能。因此,在设计数据表时,需要根据实际情况,选择合适的宽度来存储数据。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册