Un INT
siempre será de 4 bytes sin importar la longitud que se especifique.
TINYINT
=1 byte (8 bits)SMALLINT
=2 bytes (16 bits)MEDIUMINT
=3 bytes (24 bits)INT
=4 bytes (32 bits)BIGINT
=8 bytes (64 bits).
La longitud solo especifica cuántos caracteres rellenar al seleccionar datos con el cliente de línea de comandos mysql. 12345 almacenado como int(3)
aún se mostrará como 12345, pero si se almacenó como int(10)
aún se mostraría como 12345, pero tendría la opción de rellenar los primeros cinco dígitos. Por ejemplo, si agregó ZEROFILL
se mostraría como 0000012345.
... y el valor máximo será 2147483647 (Firmado) o 4294967295 (Sin firmar)