The recent use of MySQL database has encountered several types of numbers, mainly int,bigint,smallint and tinyint. One of the more confusing is the difference between int and smallint. Today on the Internet to find out carefully, find the following content, leave the document to do a summary:
An exact numeric data type that uses integer data.
bigint
Integer data (all numbers) from -2^63 (-9223372036854775808) to 2^63-1 (9223372036854775807). The storage size is 8 bytes.
p.s. bigint already has length, in MySQL build table length, just used to display the number of digits
Int
Integer data (all numbers) from -2^31 (-2,147,483,648) to 2^31–1 (2,147,483,647). The storage size is 4 bytes. The SQL-92 synonymous word for int is integer.
smallint
Integer data from -2^15 (-32,768) to 2^15–1 (32,767). The storage size is 2 bytes.
tinyint
Integer data from 0 to 255. The storage size is 1 bytes.
Comments
Support for bigint data types where integer values are supported. However,bigint is used in some special cases when the integer value exceeds the range supported by the int data type, bigintcan be used. In SQL Server, theint data type is the primary integer data type.
In the data type precedence table,bigint is located between smallmoney and int .
The function returns bigintonly if the parameter expression is a bigint data type. SQL Server does not automatically promote other integer data types (tinyint,smallint , and int) to bigint.
Int (m) in the integer data type, m represents the maximum display width. in int (m), the value of M is not related to how much storage space the Int (m) occupies. and the number of digits is also not related to int (3), int (4), int (8) on disk, which occupies 4 btyes of storage space.
Transferred from: http://blog.csdn.net/spring21st/article/details/7332200
The difference between int, bigint, smallint, and tinyint in MySQL and the meaning of length