Clasificación de los tipos de datos en MySQL
Los tipos de datos en MySQL se pueden clasificar en tres categorías principales:
- Tipos numéricos: Incluyen enteros y decimales.
- Tipos de cadenas: Para almacenar texto y datos alfanuméricos.
- Tipos de fecha y hora: Para manejar fechas y tiempos.
Tipos numéricos
Los types numéricos en MySQL son utilizados para almacenar datos que son números. Estos pueden ser enteros, flotantes o decimales. Aquí algunos ejemplos:
- Tinyint: Permite almacenar números enteros pequeños (de -128 a 127 o de 0 a 255 para sin signo).
- Smallint: Para enteros más grandes (de -32,768 a 32,767 o de 0 a 65,535 para sin signo).
- Mediumint: Rango de -8,388,608 a 8,388,607 o de 0 a 16,777,215 para sin signo.
- Int: Almacena números enteros en un rango de -2,147,483,648 a 2,147,483,647.
- Bigint: Para enteros muy grandes (de -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807).
- Float: Para almacenar números de punto flotante con precisión simple.
- Double: Para números de punto flotante con precisión doble.
- Decimal: Almacena números decimales con una precisión especificada.
Ejemplo de uso:
CREATE TABLE ejemplo_numeric (
id INT AUTO_INCREMENT PRIMARY KEY,
precio DECIMAL(10, 2),
stock SMALLINT UNSIGNED
);
Tipos de cadenas
Los tipos de datos de cadenas se utilizan para almacenar texto, ya sean caracteres, textos cortos o largos. Clases de datos de cadenas incluyen:
- CHAR: Almacena cadenas de longitud fija. Por ejemplo,
CHAR(10)siempre ocupará 10 bytes. - VARCHAR: Para cadenas de longitud variable. Su longitud máxima puede ser de hasta 65,535 bytes.
- TINYTEXT: Para textos cortos (hasta 255 caracteres).
- TEXT: Para cadenas de texto más largas (hasta 65,535 caracteres).
- MEDIUMTEXT: Textos aún más grandes (hasta 16,777,215 caracteres).
- LONGTEXT: Almacena textos extremadamente grandes, hasta 4,294,967,295 caracteres.
- BLOB: Para almacenar datos binarios.
Ejemplo de uso:
CREATE TABLE ejemplo_string (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100),
descripcion TEXT
);
Tipos de fecha y hora
MySQL también proporciona varios tipos de datos para manejar fechas y horas, lo cual es fundamental para muchas aplicaciones. Aquí están los más comunes:
- DATE: Para almacenar una fecha en formato ‘YYYY-MM-DD’.
- TIME: Para almacenar una hora en formato ‘HH:MM:SS’.
- DATETIME: Combina date y time, almacenando datos en formato ‘YYYY-MM-DD HH:MM:SS’.
- TIMESTAMP: Almacena un valor de fecha y hora como un entero UNIX, representando el número de segundos desde la época UNIX (1 de enero de 1970).
- YEAR: Almacena un año en formato de 2 o 4 dígitos.
Ejemplo de uso:
CREATE TABLE ejemplo_fecha (
id INT AUTO_INCREMENT PRIMARY KEY,
fecha_nacimiento DATE,
fecha_creacion DATETIME
);
Elección del tipo de dato adecuado
Seleccionar el tipo de dato correcto es fundamental para optimizar la base de datos. Aquí algunas recomendaciones:
- Utiliza VARCHAR cuando no se tiene una longitud fija para el texto, CHAR para longitudes fijas.
- Prefiere INT para números enteros, y DECIMAL para valores monetarios, donde se requiere precisión.
- Elige DATETIME o TIMESTAMP para operaciones que involucren fechas y horas, según la necesidad.
Para dominar la gestión de bases de datos con MySQL, te recomendamos leer también nuestros artículos sobre Qué es MySQL y cómo funciona y Crear bases de datos y usuarios.

Deja una respuesta