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:
- Numéricos
- Cadenas de texto
- Fecha y hora
- Campos binarios
- Campos espaciales
- 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:
| Tipo | Bytes | Rango con signo | Rango sin signo |
|---|---|---|---|
| TINYINT | 1 | -128 a 127 | 0 a 255 |
| SMALLINT | 2 | -32,768 a 32,767 | 0 a 65,535 |
| MEDIUMINT | 3 | -8,388,608 a 8,388,607 | 0 a 16,777,215 |
| INT | 4 | -2,147,483,648 a 2,147,483,647 | 0 a 4,294,967,295 |
| BIGINT | 8 | -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 | 0 a 18,446,744,073,709,551,615 |
| FLOAT | 4 | -3.402823466E+38 a 3.402823466E+38 | 0 a 3.402823466E+38 |
| DOUBLE | 8 | -1.7976931348623157E+308 a 1.7976931348623157E+308 | 0 a 1.7976931348623157E+308 |
| DECIMAL | Variable | Depende de la precisión | Depende de la precisión |
2. Tipos de campos de cadenas de texto
Estos tipos almacenan cadenas de caracteres de longitud fija o variable.
| Tipo | Bytes | Descripción |
| CHAR | 0 a 255 | Cadena de longitud fija |
| VARCHAR | 0 a 65,535 | Cadena de longitud variable |
| TINYTEXT | 0 a 255 | Texto pequeño |
| TEXT | 0 a 65,535 | Texto de longitud media |
| MEDIUMTEXT | 0 a 16,777,215 | Texto de longitud grande |
| LONGTEXT | 0 a 4,294,967,295 | Texto de longitud muy grande |
3. Tipos de campos de fecha y hora
Permiten almacenar fechas y horas en varios formatos.
| Tipo | Bytes | Rango de valores |
| DATE | 3 | ‘1000-01-01’ a ‘9999-12-31’ |
| DATETIME | 8 | ‘1000-01-01 00:00:00’ a ‘9999-12-31 23:59:59’ |
| TIMESTAMP | 4 | ‘1970-01-01 00:00:01’ UTC a ‘2038-01-19 03:14:07’ UTC |
| TIME | 3 | ‘-838:59:59’ a ‘838:59:59’ |
| YEAR | 1 | 1901 a 2155 |
4. Tipos de campos binarios
Se utilizan para almacenar datos binarios, como archivos o imágenes.
| Tipo | Bytes | Descripción |
| BINARY | 0 a 255 | Cadena binaria de longitud fija |
| VARBINARY | 0 a 65,535 | Cadena binaria de longitud variable |
| BLOB | 0 a 65,535 | Datos binarios de tamaño medio |
| MEDIUMBLOB | 0 a 16,777,215 | Datos binarios grandes |
| LONGBLOB | 0 a 4,294,967,295 | Datos 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.