| Bytes | Rango (sin firmar) | Rango (firmado) |
FLOTACIÓN | 4 | de 1,175494351E-38 a 3,402823466E+38 | de -3,402823466E+38 a -1,175494351E-38 |
DOBLE | 8 | de 0 y 2,22507385850720 14E- 308 a 1,797693134862315 7E+ 308 | de -1,7976931348623 157E+ 308 a -2,22507385850720 14E- 308 |
Tipos de punto fijo
Para almacenar valores numéricos exactos, utilice el tipo de datos de punto fijo:DECIMAL
. Como representa un número exacto, este tipo de datos se usa principalmente para datos que se basan en valores precisos (como datos monetarios).
La sintaxis básica es DECIMAL(P,D)
, donde P
significa precisión (el número de dígitos significativos) y D
significa escala (el número de dígitos después del punto decimal).
El número máximo de dígitos para la precisión es 65 , mientras que el valor máximo para la escala es 30 .
Si no define la precisión y la escala, la columna utiliza valores predeterminados. De forma predeterminada, los valores de P,D son 10,0 .
Tipos de valor de bit
El BIT
tipo de datos almacena valores binarios. Al crear una columna que almacenará dichos valores, defina la cantidad de valores de bit que van de 1 a 64 .
La sintaxis para este tipo de datos de MySQL es BIT(N)
. Si no especifica N
, el valor predeterminado es 1 .
Tipos de datos de fecha y hora
La fecha y la hora son tipos de datos de uso común. Ya sea que esté almacenando la hora de una entrada de datos, una fecha de nacimiento o la marca de tiempo actual, use una de las siguientes columnas.
Los tipos de datos de fecha y hora incluyen:
DATETIME
, TIMESTAMP
DATE
TIME
YEAR
FECHA Y HORA, MARCA DE TIEMPO
Para almacenar valores de fecha y hora, utilice DATETIME
o TIMESTAMP
. Ambos tipos de datos almacenan información en el YYYY-MM-DD HH:MM:SS formato. Incluye la y oreja, m onth, d ay, h nuestro, m minutos y s segundos.
La principal diferencia entre los dos es su rango:
DATETIME
los valores van desde 1000-01-01 00:00:00 a 9999-12-31 23:59:59 .
TIMESTAMP
los valores van desde 1970-01-01 00:00:01 a 2038-01-19 03:14:07 .
Puede incluir segundos fraccionarios para ambas opciones. Para hacerlo, especifique la precisión siguiendo la sintaxis DATETIME(p)
/TIMESTAMP(p)
.
Por ejemplo, para almacenar la marca de tiempo 22:53 del 1 de marzo de 2021 , con tres fracciones de segundo, especifique el tipo de datos TIMESTAMP(3)
. La entrada se almacena como:2021-03-01 22:53:35.346 .
FECHA
DATE
se utiliza para almacenar valores de fecha en el formato YYYY-MM-DD (año, mes, fecha).
El tipo de datos admite el rango 1000-01-01 a 9999-12-31 .
TIEMPO
TIME
se utiliza para almacenar valores de tiempo como HH-MM-SS (horas, minutos, segundos) o HHH-MM-SS . Las entradas que muestran el tiempo transcurrido o las diferencias de tiempo se almacenan y recuperan en un formato más largo (si necesitan más dígitos para las horas).
El tipo de datos admite el rango 1000-01-01 a 9999-12-31 .
AÑO
YEAR
almacena los valores del año en el formato YYYY . Admite valores dentro del rango 1901-2155 .
Mientras que las versiones anteriores a MySQL 5.7.5 admitían entradas de 2 y 4 dígitos para YEAR
, no ha habido soporte de 2 dígitos desde la versión 5.7.5.
Tipos de datos de cadena
Al almacenar cadenas de datos, utilice uno de los tipos de datos de cadena. Pueden contener letras, números, imágenes o archivos.
En consecuencia, hay varios tipos de datos de cadena diferentes:
CHAR
y VARCHAR
BINARY
y VARBINARY
BLOB
y TEXT
ENUM
SET
CHAR y VARCHAR
CHAR
y VARCHAR
son tipos de datos utilizados para almacenar cadenas no binarias. La principal diferencia entre los dos es cómo almacenan los datos.
CHAR
almacena cadenas de longitud fija (hasta 255 caracteres). Al crear un CHAR
columna, especifica la longitud usando el CHAR(N)
sintaxis. N
es el número de caracteres que desea ocupar. Si no define la longitud, utiliza el valor predeterminado 1 .
Estos valores se almacenan con relleno a la derecha con la longitud especificada. Por lo tanto, si configura un CHAR(5)
y almacena una entrada de tres caracteres en ella, todavía ocupa cinco caracteres.
VARCHAR
almacena cadenas de longitud variable. Si bien la longitud debe definirse al crear una columna, los valores no se rellenan a la derecha. Tienen un límite máximo, pero la duración no es fija y varía en función de los datos.
Antes, el rango de entradas era de 0 a 255 . Después del lanzamiento de MySQL 5.0.3, VARCHAR
el rango es hasta 65 535 caracteres .
BINARIO y VARBINARIO
BINARY
y VARBINARY
los tipos de datos son similares a los CHAR
mencionados anteriormente y VARCHAR
. La principal diferencia entre estos dos grupos es que BINARY
y VARBINARY
se utilizan para cadenas binarias.
BINARY
se usa para cadenas binarias de longitud fija, hasta 255 bytes . La sintaxis principal para definir dicha columna es BINARY(N)
, donde N
es el número de bytes.
VARBINARY
almacena cadenas binarias de longitud variable. MySQL versión 5.0.3 y posteriores almacena hasta 65 535 bytes .
BLOB y TEXTO
Ambos BLOB
y TEXT
se utilizan para almacenar grandes cantidades de datos.
BLOB
manijas B inario L arge O Objetos (es decir, grandes conjuntos de datos binarios como imágenes, audio o archivos PDF).
Hay 4 tipos de tipos de datos BLOB para usar, según el tamaño que requieran sus datos:
TINYBLOB
(0 – 255; 255 bytes)
BLOB
(0 – 65 535; 16 KB)
MEDIUMBLOB
(0 – 16,777,215; 16 MB)
LONGBLOB
(0 – 4,294,967,295; 4GB)
TEXT
los tipos de datos son para almacenar cadenas de texto más largas. De acuerdo a la cantidad de datos requeridos, existe:
TINYTEXT
(0 – 255; 255 bytes)
TEXT
(0 – 65 535; 16 KB)
MEDIUMTEXT
(0 – 16,777,215; 16 MB)
LONGTEXT
(0 – 4,294,967,295; 4GB)
ENUM
El ENUM
El tipo de datos se utiliza para almacenar uno de los posibles valores predefinidos en una columna. La columna puede tener hasta 65535 valores distintos.
Al crear un ENUM
columna de la tabla en MySQL, especifica una lista de todos los valores permitidos.
ESTABLECER
Me gusta ENUM
, el SET
tipo de datos tiene una lista predefinida de posibles valores almacenados en la columna.
La principal diferencia entre los dos es que SET
permite que una entrada tenga más de un valor.
Por ejemplo, si la columna se define como SET('Red','Orange','Yellow','Green')
y tiene cuatro valores posibles en la lista, una entrada podría tener el valor 'Rojo' , mientras que otro podría tener el valor 'Red','Yellow' .
El número máximo de valores permitidos es 64 .
Tipos de datos espaciales
Al almacenar datos espaciales, puede usar uno de los muchos tipos de datos espaciales diferentes que admite MySQL. Se utilizan para representar información sobre formas geométricas y ubicación física.
Podemos dividirlos en dos grupos:
- Valores de geometría única
- Colecciones de valores
Valores de geometría única
Los tipos de datos de geometría única incluyen GEOMETRY
, POINT
, LINESTRING
y POLYGON
.
GEOMETRY
almacena cualquier tipo de geometría/valor espacial.
POINT
se utiliza para un valor de un solo punto.
LINESTRING
almacena una colección de múltiples puntos que forman una línea.
POLYGON
es un tipo de datos utilizado para almacenar una colección de múltiples puntos que forman una superficie poligonal.
Colección de Valores
Los tipos de datos de colección de valores incluyen GEOMETRYCOLLECTION
, MULTIPOINT
, MULTILINE
y MULTIPOLYGON
.
GEOMETRYCOLLECTION
almacena una colección de valores geométricos/espaciales.
MULTIPOINT
se utiliza para almacenar una colección de múltiples valores de puntos.
MULTILINE
almacena una colección de varias líneas.
MULTIPOLYGON
se utiliza para una colección de múltiples polígonos.
Tipos de datos JSON
Desde la versión 5.7.8, MySQL incluye soporte para el JSON
nativo tipo de datos, lo que permite a los usuarios almacenar y administrar documentos JSON a través de una base de datos.
MySQL se asegura de que los documentos JSON sean válidos y los almacena en la columna JSON.