mysql int(10)的理解

在设计数据库时,必备的知识点,做点记录。
我们在设计的时候要注意尽可能使用较小数据类型。

int(M) M表示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关。
在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。 int(1)、int(4)、int(10) 在磁盘上都是占用 4 bytes 的存储空间。
说白了,除了显示给用户的方式有点不同外,int(M) 跟 int 数据类型是相同的。

如果int的值为10
int(10)显示结果为0000000010
int(3)显示结果为010
就是显示的长度不一样而已,但都是占用四个字节的空间。
那么M这个值是为了在字段中的值不够时补零的,但是必须声明Zerofill。

MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。
关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。

Example:

tinyint
从 -2^7 (-128) 到 2^7 - 1 (123) 的整型数据。存储大小为 1 个字节。
unsigned 是从 0255 的整型数据。

smallint
从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。
unsigned 是从 065535 的整型数据。

int
从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字).存储大小为 4 个字节。
unsigned 是从 04294967296 的整型数据。

bigint
从 -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 的整型数据(所有数字)。存储大小为 8 个字节。
unsigned 是 018446744073709551615 的整型数据。

转载自:

http://blog.csdn.net/yeruby/article/details/46391267

猜你喜欢

转载自blog.csdn.net/tian330726/article/details/79633255