Um
INT
sempre será de 4 bytes, independentemente do tamanho especificado. 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).
O comprimento apenas especifica quantos caracteres preencher ao selecionar dados com o cliente de linha de comando mysql. 12345 armazenado como
int(3)
ainda será exibido como 12345, mas se foi armazenado como int(10)
ele ainda seria exibido como 12345, mas você teria a opção de preencher os primeiros cinco dígitos. Por exemplo, se você adicionou ZEROFILL
ele seria exibido como 0000012345. ... e o valor máximo será 2147483647 (assinado) ou 4294967295 (não assinado)