Vous êtes sur la page 1sur 4

Más conocimiento gratis en

Tipos de dato en una base de datos MySQL


MySQL puede almacenar cuatro tipos de datos, numéricos, String, fecha y binarios.

Es necesario saber qué tipo de datos vamos a necesitar, esto nos servirá para almacenar correctamente
nuestros datos y para que la base de datos tenga un óptimo rendimiento.

Así que deberíamos elegir el tipo de dato con menor tamaño ya que de esta forma nos ahorraremos
espacio y una mayor velocidad de acceso.

Si seleccionamos un tipo de dato muy pequeño e introducimos uno de mayor tamaño, tendremos
perdida de datos. Por lo tanto, debemos seleccionar el que se adecue al propósito de la base de datos
considerando el crecimiento futuro.

Tipos de datos numéricos

Este tipo de datos están diseñados para almacenar datos numéricos como cantidades, costos, edades,
etc.

Para este tipo de datos encontraremos dos categorías, números enteros (no admiten punto decimal) y
de coma flotante (si admiten decimales).

Además, los tipos de datos numéricos permiten dos opciones adicionales UNSIGNED (No permite
número negativos) y ZEROFILL (Rellena el valor con ceros a la izquierda hasta alcanzar su longitud
máxima).

En MySQL los datos del tipo numérico son los siguientes:

Tipo de dato Descripción Tamaño


que
ocupa
en
Bytes
BIT[(longitud)] Longitud entre 1 y 64 1
TINYINT[(longitud)] Tipo entero. Longitud entre -128 y 127 con signo. 1
[UNSIGNED] [ZEROFILL] Longitud entre 0 y 255 sin signo
BOOL, BOOLEAN Equivalente a TINYINT(1). Rango entre 0 y 1. Se usa 1
para valores de tipo falso (0) y verdadero (1)
SMALLINT[(longitud)] Tipo entero. Rango entre -32,768 y 32,767 con 2
[UNSIGNED] [ZEROFILL] signo. Longitud entre 0 y 65,535 sin signo
MEDIUMINT[(longitud)] Tipo entero. Rango entre -8,388,608 y 8,388,607 3
[UNSIGNED] [ZEROFILL] con signo. Longitud entre 0 y 4,294,967,295 sin
signo
Más conocimiento gratis en

INT[(longitud)] Tipo entero. Rango entre -2,147,483,648 y 4


[UNSIGNED] [ZEROFILL] 2,147,483,647 con signo. Longitud entre 0 y
4,294,967,295 sin signo
INTEGER[(longitud)] Lo mismo que INT 4
[UNSIGNED] [ZEROFILL]
BIGINT[(longitud)] Tipo entero. Rango entre - 8
[UNSIGNED] [ZEROFILL] 9,223,372,036,854,775,808 y
9,223,372,036,854,775,807 con signo. Longitud
entre 0 y 18,446,744,073,709,551,615 sin signo
DECIMAL[(longitud,decimales)] Número con coma flotante. Longitud de hasta 65 Variable
[UNSIGNED] [ZEROFILL] dígitos en la parte entera y hasta 30 dígitos en la
parte decimal (por defecto 0)
DEC[(longitud,decimales)] Sinónimos de decimal Variable
[UNSIGNED] [ZEROFILL]

NUMERIC[(longitud,decimales)]
[UNSIGNED] [ZEROFILL]

FIXED[(longitud,decimales)]
[UNSIGNED] [ZEROFILL]
FLOAT[(longitud,decimales)] Número con coma flotante. Longitud de - 4-8
[UNSIGNED] [ZEROFILL] 3.402823466 X 1038 hasta -1.175494351 X 10-38
Ó
De 1.175494351 X 10-38 hasta 3.402823466 X 1038
DOUBLE[(longitud,decimales)] Número con coma flotante (doble precisión). 8
[UNSIGNED] [ZEROFILL] Longitud de -1.7976931348623157 X 10308 hasta -
2.2250738585072014 X 10-308
Ó
De 2.2250738585072014 X 10-308 hasta
1.7976931348623157 X 10308
DOUBLE Sinónimo de DOUBLE 8
PRECISION[(longitud,decimales)]
[UNSIGNED] [ZEROFILL]
Más conocimiento gratis en

Datos del tipo Fecha y Hora

En MySQL los datos del tipo fecha y hora son los siguientes:

Tipo de dato Descripción Tamaño


que
ocupa
DATE Fecha con formato “YYYY-MM-DD” 3
DATETIME[(precisión)] Fecha y hora con formato “YYYY-MM-DD 5
HH:MM:SS.SSSSSS”. El parámetro precisión define la
precisión en la parte decimal de los segundos
TIMESTAMP[(precisión)] El parámetro precisión representa la cantidad de dígitos 4
que se usarán para representar una fecha y hora desde
1970 hasta 2037
TIME[(precisión)] Hora, con formato “HH:MM:SS [.Precisión valores de S]” 3
YEAR[(2|4)] Representa el año con formto de cuatro dígitos “YYYY” o 1
dos dígitos “YY”

Tipos de datos String o cadena de caracteres

En MySQL los datos del tipo cadena de caracteres son los siguientes:

Tipo de dato Descripción Tamaño que


ocupa
CHAR[(longitud)] Admite caracteres alfanuméricos. Longitud de 1 Longitud = bytes
– 255 caracteres (por defecto 1). Si se asigna
una cadena de longitud menor, esta se
completará con espacios.
VARCHAR[(longitud)] Similar al CHAR salvo que es necesario Longitud + 1
especificar la longitud y no se autorrellena con bytes
espacios.
TINYTEXT, Admiten cadenas de longitud variable, Hasta 255 bytes
diferenciándose en su capacidad. (1 byte por cada
TEXT, caracter).
TINYTEXT: Hasta 255 caracteres
MEDIUMTEXT, TEXT: Hasta 65,535 caracteres Hasta 64 KB
MEDIUMTEXT: Hasta 16,777,215 caracteres
LONGTEXT LONGTEXT: Hasta 4,294,967,295 caracteres Hasta 16 MB

Hasta 4 GB
Más conocimiento gratis en

Tipos de datos binarios

Aunque muchos categorizan los datos del tipo binario como texto (lo cual es cierto), a estos datos se les
da un uso para almacenar archivos los cuales se almacenan en una cadena de texto binaria.

En MySQL los datos del tipo binario son los siguientes:

Tipo de dato Descripción Tamaño que


ocupa
BLOB Objeto binario que puede almacenar cualquier Hasta 64 KB
tipo de información. Admite hasta 65,535
caracteres
TINYBLOB, Similares a BLOB pero con los siguientes Hasta 255 bytes
MEDIUMBLOB, tamaños: (1 byte por cada
LONGBLOB caracter).
TYNIBLOB: Hasta 255 caracteres
MEDIUMBLOB: Hasta 16,777,215 caracteres Hasta 16 MB
LONGBLOB: Hasta 4,294,967,295 caracteres
Hasta 4 GB