Tipos de datos
Estamos juntos de nuevo y les damos la bienvenida.
En la última lección creamos una tabla de nombre UNO, contenida en una base de datos de nombre PERSONAS. Sin embargo, hubo algo que no explicamos, y es que debemos decirle a MySQL el tipo de datos que almacenará la columna que estamos creando dentro de la tabla.
Los tipos de datos que puede permitirnos MySQL es muy variada y se los referimos a continuación:
CHAR/CHAR(): Las columnas de tipo char o char() almacenan un carácter o una cadena de caracteres de 0 hasta 255 respectivamente (Si lo recuerdan, este fue el tipo de datos que le asignamos a todas nuestras columnas en la tabla UNO)
VARCHAR: Estas columnas almacenan una cadena de caracteres variables de 0 a 255.
TINYINT(): Almacena un valor entero pequeño de 0 a 255 o de -128 a 127
BIT
BOOL
BOOLEAN: Todos estos tipos son sinónimos de TINYINT(1).
SMALLINT: Almacena un entero corto (digamos que, no tan pequeño), entre -32768 y 32767 o, en caso de no tener un signo de 0 a 65535.
MEDIUMINT: Almacena un entero de tamaño medio entre -83888608 y 8388607 y entre 0 y 16777215 sin signo.
INT/INTEGER: Contiene un entero de tamaño normal (este normal es para nosotros en realidad un tamañote) entre -2147483648 y 2147483647 o entre 0 y 4294967295.
BIGINT: Como podrán imaginarse contiene un entero grande (o lo que es lo mismo un enterote) entre -9223372036854775808 a 922337203685477807 con signo o de 0 a 18446744073709551615 sin signo.
FLOAT/FLOAT(): Guarda un número de coma flotante. Opcionalmente puede acompañarse (al tipo flota sin los paréntesis) de la palabra precisión que le indica la precisión decimal que se desea, que puede llegar hasta 24 para precisión sencilla y de 25 a 53 para una precisión doble. Para flota(), los valores permitidos van desde -3402823466E+38 y -1.175494351E-38, 0, y entre 1.175494351E+38 y 3.402823466E+38. En caso de espcificarse el modificador UNSIGNED los valores negativos no son permitidos.
DOUBLE: Contiene un número de coma flotante de precisión normal. Sus valores van desde -1.7976931348623157E+308 y -2.2250738585072014E-308, 0, y entre 2.2250738585072014E-308 y 1.7976931348623157E+308. Una vez más, si se define UNSIGNED, los valores negativos no son permitidos.
DOUBLE PRECISIÓN
REAL : Son sinónimos de DOUBLE
DECIMAL: Guarda un número de coma flotante sin empaquetar. Esto de sin empaquetar implica que se guarda como una cadena (véase CHAR), usando un carácter para dígito del valor.
DEC
NUMERIC
FIXED : Son todos sinónimos de DECIMAL
DATE: Almacena un valor de fecha, los rangos permitidos son desde ‘1000-01-01’ y ‘9999-12-31’ (Fecha en la que podría que nosotros ya no estemos vivos). El formato de fecha presentado es, como ya lo habrán imaginado ‘AAAA-MM-DD’
DATETIME: Contiene un “MIX” (para demostrar que sabemos de terminología moderna), es decir una mezcla de fecha y hora. El rango que MySQL soporta es desde ‘1000-01-01 00:00:00’ hasta ‘9999-12-31 23:59:59’. El formato es del tipo ‘AAAA-MM-DD HH:MM:SS’
TIMESTAMP: Es un valor de tiempo que puede estar desde -1970-01-01 00:00:00’ hasta un momento en el año 2037 (lo cual suena como a un libro de ciencia ficción o algo así, ¿no les parece?)
TIME: Es una hora que permite los valores ‘-838:59:59’ a ‘838:59:59’. Los valores se muestran en formato HH:MM:SS
YEAR: Guarda un año en formato de 2 o 4 dígitos, siendo el valor por defecto 4. Los valores permitidos son desde 1901 a 2155 y 0000 en el formato de 4 dígitos y desde 1970 a 2069 en el formato de 2 dígitos (70-69).
Los siguientes tipos son para datos sin tipo o grandes cantidades de datos.
TINYBLOB
TINYTEXT: Almacena una columna BLOB o TEXT con una longitud de hasta 255 caracteres (28-1)
BLOX
TEXT: Almacena una columna BLOB o TEXT con una longitud de hasta 65535 caracteres (216-1)
MEDIUMBLOB
MEDIUMTEXT: Almacena una columna BLOB o TEXT con una longitud de hasta 16777215 caracteres (224-1)
LONGBLOB
LONGTEXT: Almacena una columna BLOB o TEXT con una longitud de hasta 4294967298 caracteres (232-1)
Los siguientes son los tipos enumerados y los conjuntos:
ENUM: Almacena un enumerado, el cual es un objeto cadena que pueden un valor de entre una lista, el valor NULL o el valor de error “”. Este valor puede tener un máximo de 65535 valores diferentes.
SET: Almacena un conjunto. Es una cadena que puede tener 0 ó más valores. Todos esos valores debe estar entre una lista de valores. El máximo de miembros de un conjunto puede ser 64.
Muy bien, esta ha sido una mirada rápida (¿QUEEEEE, ESTO ES RÁPIDO?) a los tipos de MySQL. Hay que aclarar que una vez se define una columna como almacenadora de un tipo, no habremos de intentar guardar valores de un tipo diferente dentro de ellas. OJO y mucho cuidado en esto.
[Objeto Flash Eliminado]
Esta, los sabemos, ha sido una lección larga, pero necesaria, así que, sin más ni más, Hasta Pronto.