«Me lo contaron y lo olvidé; lo vi y lo entendí; lo hice y lo aprendí».

— Confucio

Tipos de campos en MySQL

MySQL es uno de los sistemas de gestión de bases de datos más utilizados en el mundo, y conocer los tipos de campos que ofrece es fundamental para optimizar el almacenamiento y el rendimiento de las aplicaciones. En este artículo, exploraremos todos los tipos de campos disponibles en MySQL, detallando sus características, el rango de valores que admiten y el espacio en disco que ocupan.

¿Qué son los tipos de campos en MySQL?

Los tipos de campos en MySQL determinan el tipo de datos que una columna puede almacenar en una tabla. Seleccionar el tipo de campo adecuado no solo garantiza la integridad de los datos, sino que también optimiza el uso del almacenamiento y el rendimiento de las consultas.

Clasificación de los tipos de campos en MySQL

MySQL organiza los tipos de campos en varias categorías principales:

  1. Numéricos
  2. Cadenas de texto
  3. Fecha y hora
  4. Campos binarios
  5. Campos espaciales
  6. Campos JSON

A continuación, profundizaremos en cada una de estas categorías.

1. Tipos de campos numéricos

Estos tipos se utilizan para almacenar valores numéricos, ya sean enteros o decimales. A continuación, se muestra una tabla con los tipos más comunes:

TipoBytesRango con signoRango sin signo
TINYINT1-128 a 1270 a 255
SMALLINT2-32,768 a 32,7670 a 65,535
MEDIUMINT3-8,388,608 a 8,388,6070 a 16,777,215
INT4-2,147,483,648 a 2,147,483,6470 a 4,294,967,295
BIGINT8-9,223,372,036,854,775,808 a 9,223,372,036,854,775,8070 a 18,446,744,073,709,551,615
FLOAT4-3.402823466E+38 a 3.402823466E+380 a 3.402823466E+38
DOUBLE8-1.7976931348623157E+308 a 1.7976931348623157E+3080 a 1.7976931348623157E+308
DECIMALVariableDepende de la precisiónDepende de la precisión

2. Tipos de campos de cadenas de texto

Estos tipos almacenan cadenas de caracteres de longitud fija o variable.

TipoBytesDescripción
CHAR0 a 255Cadena de longitud fija
VARCHAR0 a 65,535Cadena de longitud variable
TINYTEXT0 a 255Texto pequeño
TEXT0 a 65,535Texto de longitud media
MEDIUMTEXT0 a 16,777,215Texto de longitud grande
LONGTEXT0 a 4,294,967,295Texto de longitud muy grande

3. Tipos de campos de fecha y hora

Permiten almacenar fechas y horas en varios formatos.

TipoBytesRango de valores
DATE3‘1000-01-01’ a ‘9999-12-31’
DATETIME8‘1000-01-01 00:00:00’ a ‘9999-12-31 23:59:59’
TIMESTAMP4‘1970-01-01 00:00:01’ UTC a ‘2038-01-19 03:14:07’ UTC
TIME3‘-838:59:59’ a ‘838:59:59’
YEAR11901 a 2155

4. Tipos de campos binarios

Se utilizan para almacenar datos binarios, como archivos o imágenes.

TipoBytesDescripción
BINARY0 a 255Cadena binaria de longitud fija
VARBINARY0 a 65,535Cadena binaria de longitud variable
BLOB0 a 65,535Datos binarios de tamaño medio
MEDIUMBLOB0 a 16,777,215Datos binarios grandes
LONGBLOB0 a 4,294,967,295Datos binarios muy grandes

5. Tipos de campos espaciales

Estos campos almacenan datos geoespaciales, como puntos y polígonos.

6. Tipos de campos JSON

MySQL permite almacenar documentos JSON nativos para un manejo más eficiente y rápido.

Seleccionar el tipo de campo correcto en MySQL es clave para optimizar el rendimiento y el almacenamiento de las bases de datos. Esperamos que esta guía te ayude a tomar decisiones informadas al diseñar tus esquemas de base de datos.