float - ¿Hay alguna diferencia en el uso de INT(1) frente a TINYINT(1) en MySQL?
mysql decimal (3)
Estoy bajo la suposición de que INT (1) es exactamente lo mismo que TINYINT (1) pero realmente no tengo idea. Cada vez que tengo valores que solo pueden ser un entero (por ejemplo, un valor de 0-9), siempre he usado INT (1) para decir que es un número entero y que solo tendrá un carácter, lo que supongo que significa que solo podría ser un valor de 0 a 9 (por favor explícame esto si estoy equivocado). Siempre he ignorado los otros tipos de INT con los que puedes convertir el número. No soy conocedor de MySQL y tiendo a evitar las cosas más complicadas que puedes hacer con él.
Entonces mi pregunta, ¿hay alguna diferencia entre los diversos tipos de enteros INT, TINYINT, SMALLINT, MEDIUMINT y BIGINT si define una longitud de 1 para cada tipo? Si no, ¿los debería usar de todos modos (puedo ver que los usa para un significado más semántico, TINYINT es más específico que solo INT)? De ser así, ¿podría fácilmente (y / o debería) acceder a mi base de datos y cambiar todos mis campos INT (1) a campos TINYINT (1)?
¡Aquí lo entenderás de una mejor manera!
tinyint: 1 byte, -128 to +127 / 0 to 255 (unsigned)
smallint: 2 bytes, -32,768 to +32,767 / 0 to 65,535 (unsigned)
mediumint: 3 bytes, -8,388,608 to 8,388,607 / 0 to 16,777,215 (unsigned)
int/integer: 4 bytes, -2,147,483,648 to +2,147,483,647 / 0 to 4,294,967,295 (unsigned)
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 (unsigned)
Como explicó la respuesta aceptada:
El número entre paréntesis indica la cantidad de caracteres para mostrar ese campo , no el tamaño de almacenamiento del campo.
Pero si quiere saber el tamaño de almacenamiento, debe verificar los documentos fuente de MySQL.
TINYINT : 1 byte, -128 a 127 sin firmar, 0 a 255 firmado
SMALLINT : 2 bytes, -32768 a 32767 sin firmar, 0 a 65535 firmado
MEDIUMINT : 3 bytes, -8388608 a 8388607 sin firmar, 0 a 16777215 firmado
INT : 4 bytes, -2147483648 a 2147483647, 0 a 4294967295 firmado
BIGINT : 8 bytes, -26 ^ 3 a 26 ^ 3-1 sin firmar, 0 a 26 ^ 4-1 firmado
El número entre paréntesis para los tipos de columnas enteras es el "ancho de visualización". Esto no afecta los requisitos de almacenamiento ya que están predefinidos.
Otras lecturas