Descripción de los distintos
tipos de datos de MySQL
Tipos de datos de mysql
•
•
•
•
•
Después de la fase de diseño de una base de datos, y una vez se ha realizado el paso a
tablas del mismo, en necesario crear las tablas correspondientes dentro de la base de
datos. Para cada campo de cada una de las tablas, es necesario determinar el tipo de
datos que contiene, para de esa forma ajustar el diseño de la base de datos, y conseguir
un almacenamiento óptimo con la menor utilización de espacio. El presente artículo
describe cada uno de los tipos de datos que puede tener un campo en Mysql,
Los tipos de datos que puede haber en un campo, se pueden agrupar en tres grandes
grupos:
Tipos numéricos
Tipos de Fecha
Tipos de Cadena
Tipos numéricos:
• Existen tipos de datos numéricos,
que se pueden dividir en dos
grandes grupos, los que están en
coma flotante (con decimales) y
los que no.
TIPO DE CAMPO
TAMAÑO DE
ALMACENAMIENTO
TINYINT
1 byte
SMALLINT
2 bytes
MEDIUMINT
3 bytes
INT
4 bytes
INTEGER
4 bytes
BIGINT
8 bytes
FLOAT(X)
4 ú 8 bytes
FLOAT
4 bytes
DOUBLE
8 bytes
DOUBLE PRECISION
8 bytes
REAL
8 bytes
DECIMAL(M,D
M+2 bytes sí D > 0,
M+1 bytes sí D = 0
NUMERIC(M,D)
M+2 bytes if D > 0,
M+1 bytes if D = 0
Tipos numéricos:
TinyInt: es un número entero con o sin signo. Con
signo el rango de valores válidos va desde -128 a
127. Sin signo, el rango de valores es de 0 a 255
Bit ó Bool: un número entero que puede ser 0 ó 1
SmallInt: número entero con o sin signo. Con
signo el rango de valores va desde -32768 a 32767.
Sin signo, el rango de valores es de 0 a 65535.
MediumInt: número entero con o sin signo. Con
signo el rango de valores va desde -8.388.608 a
8.388.607. Sin signo el rango va desde 0
a16777215.
Integer, Int: número entero con o sin signo. Con
signo el rango de valores va desde -2147483648 a
2147483647. Sin signo el rango va desde 0 a
429.4967.295
BigInt: número entero con o sin signo. Con signo el
rango de valores va desde 9.223.372.036.854.775.808 a
9.223.372.036.854.775.807. Sin signo el rango va
desde 0 a 18.446.744.073.709.551.615.
Float: número pequeño en coma flotante de
precisión simple. Los valores válidos van desde 3.402823466E+38 a -1.175494351E-38, 0 y desde
1.175494351E-38 a 3.402823466E+38.
xReal, Double: número en coma flotante de
precisión doble. Los valores permitidos van desde 1.7976931348623157E+308 a -2.2250738585072014E308, 0 y desde 2.2250738585072014E-308 a
1.7976931348623157E+308
Decimal, Dec, Numeric: Número en coma flotante
desempaquetado. El número se almacena como una
cadena
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.
TAMAÑO
FORMATO
14
AñoMesDiaHoraMinutoSegundo
aaaammddhhmmss
12
AñoMesDiaHoraMinutoSegundo
aammddhhmmss
8
ñoMesDia aaaammdd
6
AñoMesDia aammdd
4
AñoMes aamm
2
Año aa
Tipos fecha:
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ñomes-dia
DateTime: Combinación de fecha y hora. El rango de valores va desde el 1 de
enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a
las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento es de
año-mes-dia horas:minutos:segundos
TimeStamp: Combinación de fecha y hora. El rango va desde el 1 de enero de
1970 al año 2037. El formato de almacenamiento depende del tamaño del campo:
Tipos de cadena:
Char(n): almacena una cadena de longitud fija.
La cadena podrá contener desde 0 a 255
caracteres.
VarChar(n): almacena una cadena de longitud
variable. 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)
La diferencia entre un tipo y otro es el
tratamiento que reciben a la hora de realizar
ordenamientos y comparaciones. Mientras
que el tipo test se ordena sin tener en cuenta
las Mayúsculas y las minúsculas, el tipo BLOB
se ordena teniéndolas en cuenta.
TIPO DE CAMPO
TAMAÑO DE ALMACENAMIENTO
CHAR(n)
n bytes
VARCHAR(n)
n +1 bytes
TINYBLOB,
TINYTEXT
Longitud+1 bytes
BLOB, TEXT
Longitud +2 bytes
MEDIUMBLOB,
MEDIUMTEXT
Longitud +3 bytes
LONGBLOB,
LONGTEXT
Longitud +4 bytes
ENUM('value1','val 1 ó dos bytes dependiendo del número
ue2',...)
de valores
SET('value1','value
2',...)
1, 2, 3, 4 ó 8 bytes, dependiendo del
número de valores
Tipos de cadena:
Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser
ficheros.
TinyText y TinyBlob: Columna con una longitud máxima de 255 caracteres.
Blob y Text: un texto con un máximo de 65535 caracteres.
MediumBlob y MediumText: un texto con un máximo de 16.777.215
caracteres.
LongBlob y LongText: un texto con un máximo de caracteres 4.294.967.295.
Hay que tener en cuenta que debido a los protocolos de comunicación los
paquetes pueden tener un máximo de 16 Mb.
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.
Organizado por:
Walder Pontón Flórez
Descargar

Descripción de los distintos tipos de datos de