BD 1.2 - Tipos de Campos en MySQL



El asignar un tipo a cada campo es para optimizar la base de datos y agilizarla. Los tipos de datos que puede haber en un campo, se pueden agrupar en tres grandes grupos.

Aunque dentro de cada uno de ellos hay mucha variedad, Nos servirán entre otros para crear tablas del tipo:


Tipos Numéricos

TINYINT[(M)]
Entero muy pequeño (-128 a 127 con signo / 0 a 255 sin signo)
BIT/BOOL/BOOLEAN
Cero es falso. Valores no zero son considerados verdaderos.
SMALLINT[(M)]
Entero pequeño (-32768 a 32767 con signo / 0 a 65535 sin signo).
MEDIUMINT[(M)]
Entero medio (-8388608 a 8388607 con signo / 0 a 16777215 sin signo).
INT[(M)]
Entero (-2147483648 a 2147483647 con signo / 0 to 4294967295 sin signo).
INTEGER[(M)]
Sinónimo de INT
BIGINT[(M)]
Entero grande (-9223372036854775808 a 9223372036854775807 con signo / 0 to 18446744073709551615 sin signo)
FLOAT[(M,D)]
Número coma flotante pequeño.
DOUBLE[(M,D)]
Número coma flotante normal.
DOUBLE PRECISION[(M,D)]
Sinónimos de DOUBLE.
DECIMAL[(M[,D])]
Número con decimal fijo. Se comporta com un CHAR. M es el total de dígitos y D es el número de decimales.


Tipos Fecha y Hora

DATE
Fecha. Rango de '1000-01-01' a '9999-12-31'. Formato: 'YYYY-MM-DD'.
DATETIME
Combinación de fecha y hora. Rango de '1000-01-01 00:00:00' a '9999-12-31 23:59:59'. Formato: 'YYYY-MM-DD HH:MM:SS'.
TIMESTAMP[(M)]
Rango de '1970-01-01 00:00:00' a aproximadamente el año 2037.
TIME
Tiempo. Rango de '-838:59:59' a '838:59:59'. Formato: 'HH:MM:SS'.
YEAR[(2|4)]
Año en 2 dígitos o 4 dígitos. Rango de 1901 to 2155, and 0000 para 4 dígitos y de 70 a 69 (de 1970 a 2069) para 2 dígitos.


Tipos String

CHAR(M) [BINARY | ASCII | UNICODE]
Cadena de carácteres de longitud fija. M de 0 a 255.
CHAR
Sinónimo de CHAR(1).
VARCHAR(M) [BINARY]
Cadena de carácteres de longitud variable. M de 0 a 255.
TINYBLOB/TINYTEXT
Una columna BLOB o TEXT de como máximo 255 carácteres.
BLOB/TEXT
Una columna BLOB o TEXT de como máximo 65,535 carácteres.
MEDIUMBLOB/MEDIUMTEXT
Una columna BLOB o TEXT de como máximo 16,777,215 Caracteres
LONGBLOB/LONGTEXT
Una columna BLOB o TEXT de como máximo 4,294,967,295 carácteres.
ENUM('value1','value2',...)
Enumeración. Cadena de carácteres que sólo puede tener un valor dado en la lista.
SET('value1','value2',...)
Lista que puede tener valor cero o más valores. Deben estar en la lista y como máximo pueden haber 64 miembros.