La documentación parece bastante clara al respecto:
Atributos de tipo numérico
MySQL admite una extensión para especificar opcionalmente el ancho de visualización de tipos de datos enteros entre paréntesis después de la palabra clave base para el tipo. Por ejemplo, INT(4) especifica un INT con un ancho de visualización de cuatro dígitos. Las aplicaciones pueden usar este ancho de visualización opcional para mostrar valores enteros que tengan un ancho menor que el ancho especificado para la columna al rellenarlos con espacios a la izquierda. (Es decir, este ancho está presente en los metadatos devueltos con los conjuntos de resultados. Si se usa o no, depende de la aplicación).
El ancho de visualización no restringe el rango de valores que se pueden almacenar en la columna. Tampoco evita que los valores más anchos que el ancho de visualización de la columna se muestren correctamente. Por ejemplo, una columna especificada como SMALLINT(3) tiene el rango SMALLINT habitual de -32768 a 32767, y los valores fuera del rango permitido por tres dígitos se muestran completos usando más de tres dígitos.
http://dev.mysql.com/doc/refman /5.5/es/tipos-numericos.html