Base de datos
Una vez que hemos decidido qué información debemos almacenar, hemos normalizado nuestras tablas y hemos creado claves principales, el siguiente paso consiste en elegir el tipo adecuado para cada atributo.
En MySQL existen bastantes tipos diferentes disponibles, de modo que será mejor que los agrupemos por categorías: de caracteres, enteros, de coma flotante, tiempos,bloques, enumerados y conjuntos.
Tipos de datos de cadenas de caracteres
CHAR
CHAR
Es un sinónimo de CHAR(1), y puede contener un único carácter.
CHAR()
[NATIONAL] CHAR(M) [BINARY | ASCII | UNICODE]
Contiene una cadena de longitud constante. Para mantener la longitud de la cadena, se rellena a la derecha con espacios. Estos espacios se eliminan al recuperar el valor.
Los valoresválidos para M son de 0 a 255, y de 1 a 255 para versiones de MySQL previas a 3.23.
Si no se especifica la palabra clave BINARY estos valores se ordenan y comparan sin distinguir mayúsculas y minúsculas.
CHAR es un alias para CHARACTER.
VARCHAR()
[NATIONAL] VARCHAR(M) [BINARY]
Contiene una cadena de longitud variable. Los valores válidos para M son de 0 a 255, y de 1 a 255 en versiones de MySQLanteriores a 4.0.2.
Los espacios al final se eliminan.
Si no se especifica la palabra clave BINARY estos valores se ordenan y comparan sin distinguir mayúsculas y minúsculas.
VARCHAR es un alias para CHARACTER VARYING.
Tipos de datos enteros
TINYINT
TINYINT[(M)] [UNSIGNED] [ZEROFILL]
Contiene un valor entero muy pequeño. El rango con signo es entre -128 y 127. El rango sin singo, de0 a 255.
BIT, BOOL, BOOLEAN
Todos son sinónimos de TINYINT(1).
SMALLINT
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
Contiene un entero corto. El rango con signo es de -32768 a 32767. El rango sin singo, de 0 a 65535.
MEDIUMINT
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
Contiene un entero de tamaño medio, el rango con signo está entre -8388608 y 8388607. El rango sin signo, entre 0 y16777215.
INT
INT[(M)] [UNSIGNED] [ZEROFILL]
Contiene un entero de tamaño normal. El rango con signo está entre -2147483648 y 2147483647. El rango sin singo, entre 0 y 4294967295.
INTEGER
INTEGER[(M)] [UNSIGNED] [ZEROFILL]
Es sinónimo de INT.
BIGINT
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
Contiene un entero grande. El rango con signo es de -9223372036854775808 a 9223372036854775807. Elrango sin signo, de 0 a 18446744073709551615.
Tipos de datos en coma flotante
FLOAT
FLOAT(precision) [UNSIGNED] [ZEROFILL]
Contiene un número en coma flotante. precision puede ser menor o igual que 24 para números de precisión sencilla y entre 25 y 53 para números en coma flotante de doble precisión. Estos tipos son idénticos que los tipos FLOAT y DOUBLE descritos a continuación. FLOAT(X)tiene el mismo rango que los tipos FLOAT y DOUBLE correspondientes, pero el tamaño mostrado y el número de decimales quedan indefinidos.
FLOAT()
FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
Contiene un número en coma flotante pequeño (de precisión sencilla). Los valores permitidos son entre -3.402823466E+38 y -1.175494351E-38, 0, y entre 1.175494351E-38 y 3.402823466E+38. Si se especifica elmodificador UNSIGNED, los valores negativos no se permiten.
El valor M es la anchura a mostrar y D es el número de decimales. Si se usa sin argumentos o si se usa FLOAT(X), donde X sea menor o igual que 24, se sigue definiendo un valor en coma flotante de precisión sencilla.
DOUBLE
DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]
Contiene un número en coma flotante de tamaño normal (precisión doble). Los valorespermitidos están entre -1.7976931348623157E+308 y -2.2250738585072014E-308, 0, y entre 2.2250738585072014E-308 y 1.7976931348623157E+308. Si se especifica el modificador UNSIGNED, no se permiten los valores negativos.
El valor M es la anchura a mostrar y D es el número de decimales. Si se usa sin argumentos o si se usa FLOAT(X), donde X esté entre 25 y 53, se sigue definiendo un valor en coma...
Regístrate para leer el documento completo.