Al crear una tabla en una base de datos, debe tener un nombre y un tipo de datos. El tipo de datos de una columna define los valores que contiene la columna, como entero, dinero, binario, carácter, fecha y hora. Por lo tanto, es tarea del desarrollador determinar qué tipos de datos se almacenarán en cada columna al crear bases de datos y tablas.
En términos simples, los tipos de datos son pautas que ayudan a SQL a comprender qué tipo de datos se requieren dentro de una columna. También es eficiente para identificar cómo SQL interactúa con los datos almacenados.
Un punto a tener en cuenta es que los tipos de datos pueden contener diferentes nombres en diferentes bases de datos, y en los casos en que los nombres sean los mismos, otros aspectos y detalles, como el tamaño, serán diferentes. Por lo tanto, se recomienda consultar siempre la documentación cuando se encuentre con casos similares.
Las siguientes características pueden identificar tipos de datos en MySQL:
- Los valores de los tipos de datos que se pueden indexar y los que no se pueden indexar
- El tipo de valores que representan
- El espacio que ocupan, si los valores son de longitud variable o longitud fija
- Cómo se compara MySQL con los diferentes valores de tipos de datos específicos
Antes de sumergirnos y cubrir los tipos de datos de MySQL, es esencial aprender y comprender las convenciones utilizadas por las descripciones de los tipos de datos, como se destaca a continuación:
- (M ):para tipos enteros, indica el ancho máximo que el tipo de datos puede mostrar.
:indica el número total de dígitos que se pueden almacenar para tipos de punto fijo y tipos de punto flotante.
:Para tipos de cadena, muestra la longitud máxima
Nota:M El valor máximo permitido de depende del tipo de datos
• (D ):solo se aplica a tipos de punto fijo y tipos de punto flotante. Indica la escala (el número de dígitos que siguen al punto decimal). El valor máximo posible es 10, mientras que no debería ser más significativo que M -2
• Los corchetes ([y]) muestran las partes opcionales del tipo de definición.
• f sp: esta convención se aplica a los tipos de marca de tiempo, fecha y hora. Representa la precisión de las fracciones de segundo (el número de dígitos que siguen al punto decimal durante las fracciones de segundo). El fsp dado El valor debe oscilar entre 0 y 6. El valor 0 significa que no hay partes fraccionarias presentes en el valor dado. Sin embargo, en los casos en que se omite el valor, la precisión se indica como 0.
En MySQL, hay tres categorías principales de tipos de datos que contienen subcategorías. Los tipos de datos primarios son:
- Tipos de datos de cadena
- Tipos de datos de fecha y hora.
- Tipos de datos numéricos
MySQL admite otros tipos de datos, como tipos de datos espaciales y tipos de datos JSON.
Este artículo cubrirá exhaustivamente todos los tipos de datos mencionados anteriormente. Por lo tanto, para obtener una comprensión clara de los tipos de datos, apéguese a este artículo.
Tipos de datos de cadena
Los tipos de datos de cadena se utilizan principalmente para contener datos binarios y texto sin formato, como imágenes y archivos. Además, MYSQL tiene la capacidad de comparar y buscar valores de cadena según el patrón coincidente, como expresiones regulares y operadores.
A continuación se muestra una ilustración detallada de todos los tipos de datos de cadena que admite MySQL:
CARÁCTER ( tamaño
VARCHAR ( tamaño
BINARIO ( tamaño
VARBINARIO ( tamaño
TINYTEXT: Contiene cadenas que contienen una longitud máxima de 255 caracteres.
TEXTO ( tamaño
BLOQUEO ( tamaño
TINYBLOB: Para Objetos Binarios Grandes (BLOBs). Contiene una longitud máxima de 255 bytes.
LONGLOB: Para Objetos Binarios Grandes (BLOBs). Contienen hasta 4 294 967 295 bytes de datos.
TEXTO LARGO: Contiene cadenas que contienen una longitud máxima de 4 294 967 295 caracteres.
TEXTO MEDIO: Contiene cadenas que contienen una longitud máxima de 16 777 215 caracteres.
BLOQUE MEDIO: Para Objetos Binarios Grandes (BLOBs). Contienen hasta 16 777 215 bytes de datos.
ESTABLECER ( val1, val2, val3, …
ENUM ( val1, val2, val3, …
Tipos de datos de fecha y hora
Los tipos de datos de fecha y hora especifican los valores temporales como DateTime, timestamp, year, time y date. Cada uno de los tipos temporales mencionados tiene valores que incluyen cero. Cada vez que se inserta un valor no válido, MySQL no puede representarlo. Por lo tanto, se opta por un cero.
A continuación se muestra una ilustración completa de los tipos de datos de fecha y hora admitidos por MySQL:
FECHA: El formato de fecha estándar es años, meses y días respectivamente (AAAA-MM-DD), y el rango admitido es '1000-01-01' a '9999-12-31'.
FECHA Y HORA ( fsp
MARCA DE TIEMPO ( fsp
TIEMPO ( fsp
AÑO: Un año se representa en un formato de cuatro dígitos:los valores permitidos en el formato de cuatro dígitos van de 1902 a 2155 y 0000.
Tipos de datos numéricos
Los tipos de datos numéricos incluyen todos los tipos de datos numéricos exactos, como enteros, decimales y numéricos. También contiene los tipos de datos numéricos aproximados, como float, double, double precision y real. Los tipos de datos numéricos almacenan valores de bits ya que admiten los tipos de datos BIT. Por lo general, los tipos de datos numéricos en MySQL se dividen en dos categorías:tipos de datos firmados y tipos de datos sin firmar; sin embargo, esta es una excepción a los tipos de datos de bits.
A continuación se muestra una ilustración detallada que contiene todos los tipos de datos numéricos admitidos por MySQL y su descripción:
BIT ( tamaño
TINYINT ( tamaño
BOOLEANO: Es igual a un BOOL
BOOL: En un BOOL, los valores distintos de cero se consideran verdaderos. Al mismo tiempo, los valores cero se consideran falsos.
MENTA MEDIA ( tamaño
PEQUEÑO ( tamaño
FLOTANTE ( tamaño, d
ENTERO ( tamaño
FLOTANTE( p
DEC ( tamaño, d
DOBLE ( tamaño, d
DECIMALES ( tamaño, d
Otros tipos de datos
Tipo de dato booleano
El tipo entero más pequeño TINYINT (1) se usa para representar valores booleanos en MySQL, ya que MySQL no contiene un tipo de datos BOOL o BOOLEAN incorporado. Por lo tanto, cuando trabaje con BOOL y BOOLEAN, debe igualarlos a TINYINT (1).
Tipo de datos espaciales
MySQL brinda soporte para varios tipos de datos espaciales que tienen varios tipos de valores geográficos y geométricos, como se indica a continuación:
GEOMETRÍA: Este es un agregado o punto que puede contener el valor espacial de cualquier tipo siempre que tenga una ubicación.
POLÍGONO: Esta es una superficie plana representada por una geometría de varios lados. Puede definirse por cero o solo uno exterior y más límites interiores.
CADENA MULTILINEA: Esta es una geometría de múltiples curvas que contiene una colección de valores LINESTRING.
MULTIPOLÍGONO: Este es un objeto multisuperficie representado por una colección de varios elementos poligonales, y es una geometría bidimensional
PUNTO: Este es un punto o un par que contiene las coordenadas X e Y. Se puede decir que es un punto en una geometría que representa una sola ubicación.
COLECCIÓN DE GEOMETRÍA: Esta es una colección de valores de GEOMETRÍA
SECUENCIA DE LÍNEAS: Esta es una curva que contiene uno o más valores de punto. En los casos en que una cadena de líneas contiene solo dos puntos, significa que representa una línea.
MULTIPUNTO: Esta es una colección de valores de PUNTOS en los que el punto no se puede ordenar ni conectar de ninguna manera.
Tipo de datos JSON
MYSQL ha admitido el tipo de datos JSON nativo desde el inicio de la versión 5.7.8, lo que permitió el almacenamiento y la gestión de documentos JSON de forma mucho más rápida y eficaz. Además, el tipo de datos JSON nativo es responsable de proporcionar un formato de almacenamiento óptimo y una validación automática de los documentos JSON.
Conclusión
Este artículo ha cubierto exhaustivamente todos los aspectos relacionados con los tipos de datos de MySQL que lo ayudarán a comprender qué tipos de datos deben usarse y cómo deben usarse. Creemos que el artículo también ayudará a mejorar su conocimiento de MySQL.