bigint 20-digit 8-byte
Integer data (all numbers) from -2^63 (-9223372036854775808) to 2^63-1 (9223372036854775807). The storage size is 8 bytes.
9223372036854775808
P.S. bigint already has length, in MySQL build table length, just used to display the number of digits
int 11 digits 4 bytes
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.
2147483648
smallint 5-digit 2-byte
Integer data from -2^15 (-32,768) to 2^15–1 (32,767). The storage size is 2 bytes.
Tinyint 3-digit 1-byte
Integer data from 0 to 255. The storage size is 1 bytes.
Notes
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, 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. 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.
The differences between int, bigint, smallint, and tinyint in MySQL are detailed