Recently used MySQL database encountered a number of types, 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, leaving the document to do a summary:
The exact numeric data type using 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 to display the number of digits
int
from -2^31 (-2,147,483,648) to 2^31–1 (2,147 , 483,647) for integer data (all numbers). 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. The
comment
supports 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, bigint can be used. In SQL Server, the int data type is the primary integer data type.
in the data type precedence table, bigint is located between smallmoney and Int. The
function returns bigint only 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. It has nothing to do with the number of digits. Int (3), int (4), int (8) are stored on disk with 4 Btyes empty
Details about the differences between int, bigint, smallint, and tinyint in MySQL