integer in MySQL

Type | Storage Required | Signed Range | Unsigned Range
----- | ----- | ----- | ----- 
TINYINT | 1 byte | –128 to 127 | 0 to 255
SMALLINT | 2 bytes | –32,768 to 32,767 | 0 to 65,535
MEDIUMINT | 3 bytes | –8,388,608 to 8,388,607 | 0 to 16,777,215
INT | 4 bytes | –2,147,683,648 to 2,147,483,647 | 0 to 4,294,967,295
BIGINT | 8 bytes | –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 | 0 to 18,446,744,073,709,551,615

MySQL INT data type can be signed and unsigned. 
```
total_member INT UNSIGNED
```
Integer data types may be declared with a display width, which affects the number of digits used to display column values in query output. 
```
century INT(4)
```
However, it’s important to understand that the display width is unrelated to the range of the data type. The display width specified for a column affects only the maximum number of digits MySQL uses to display column values. Values shorter than the display width are padded with spaces as necessary. Note also that the display width is not a hard limit; it won’t cause output truncation of a value that’s too long to fit within the width. Instead, the full value is shown. For example, assume that you’ve inserted the number 57622 into the century column. When you SELECT the column in a query, MySQL displays the entire value ( 57622 ), not just the first four digits of the value.
The display width for integer types also is unrelated to storage requirements. For example, an INT(4) column does not require half as much storage per value as INT(8) . All values for the INT data type require four bytes.
If you specify no display width for an integer type, MySQL chooses a default based on the number of characters needed to display the full range of values for the type (including the minus sign, for signed types). For example, SMALLINT has a default display width of 6 because the widest possible value is -32768.