type float example data mysql types integer

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.

Fuente: Documentos de MySQL: Tipos enteros (valor exacto) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT

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