Tipos de datos en MySQL

Tipos de datos en MySQL

•

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.

Fuentes y lecturas recomendadas

Xose de la Paz

Más de 20 años transformando pasión en profesión. Experto en desarrollo Full Stack con una visión integral que abarca desde la gestión de servidores y redes hasta el diseño de interfaz. Soy un "todoterreno" tecnológico que cree en el aprendizaje continuo y la visión global de los proyectos. Entre despliegue y despliegue, me pierdo por el mundo con mi cámara al hombro.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.