Tipos de Datos Mysql
Tipos de Datos Mysql
MySQL soporta varios tipos de datos, que pueden ser agrupados en tres
categorías: numéricos, fecha y hora, y cadenas (caracteres). En este artículo se
presenta un breve resumen de estos tipos, se mencionan sus requerimientos de
almacenamiento, y se hace una descripción más detallada de las propiedades de
cada uno de ellos. Los tipos de datos soportados por MySQL son listados a
continuación.
Se debe notar que cuando se especifica ZEROFILL para una columna, MySQL
agregará automáticamente el atributo UNSIGNED.
Tipos numéricos:
BIT y BOOL
Es un sinónimo para TINYINT(1).
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
Un entero pequeño. Su rango es de -32768 a 32767. Para enteros sin signo el
rango es de 0 a 65535.
Tipos de cadena:
Char(n): almacena una cadena de longitud fija. La cadena podrá contener desde 0
a 255 caracteres.
Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los tipo Test
y los tipo BLOB (Binary large Object)
Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser
ficheros.
Enum: campo que puede tener un único valor de una lista que se especifica. El
tipo Enum acepta hasta 65535 valores distintos
Set: un campo que puede contener ninguno, uno ó varios valores de una lista. La
lista puede tener un máximo de 64 valores.
Tamaño de
Tipo de campo
Almacenamiento
CHAR(n) n bytes
VARCHAR(n) n +1 bytes
TINYBLOB, TINYTEXT Longitud+1 bytes
BLOB, TEXT Longitud +2 bytes
MEDIUMBLOB,
Longitud +3 bytes
MEDIUMTEXT
LONGBLOB, LONGTEXT Longitud +4 bytes
1 ó dos bytes dependiendo
ENUM('value1','value2',...)
del número de valores
1, 2, 3, 4 ó 8 bytes,
SET('value1','value2',...) dependiendo del número de
valores
Almace Almace
Valor CHAR(4) VARCHAR(4)
namiento namiento
'' '' 4 bytes " 1 byte
'ab' 'ab ' 4 bytes 'ab' 3 bytes
'abcd' 'abcd' 4 bytes 'abcd'
'abcdefgh' 'abcd' 4 bytes 'abcd' 5 bytes
Tipos fecha:
A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba
de una manera estricta si una fecha es válida o no. Simplemente comprueba que
el mes esta comprendido entre 0 y 12 y que el día esta comprendido entre 0 y 31.
Date: tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero
del 1001 al 31 de diciembre de 9999. El formato de almacenamiento es de año-
mes-dia
Time: almacena una hora. El rango de horas va desde -838 horas, 59 minutos y
59 segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es
de 'HH:MM:SS'
Tipo de Tamaño de
Campo Almacenamiento
DATE 3 bytes
DATETIME 8 bytes
TIMESTAMP 4 bytes
TIME 3 bytes
YEAR 1 byte