GNU/Linux >> Tutoriales Linux >  >> Cent OS

Tipos de datos MySQL

Introducción

Tipos de datos MySQL son importantes de comprender antes de comenzar a crear y trabajar con una base de datos MySQL. Si asigna correctamente cada columna, se asegura de que la base de datos esté optimizada y los datos se almacenen de forma segura.

En este tutorial aprenderá sobre los diferentes tipos de datos de MySQL.

¿Qué son los tipos de datos en MySQL?

Un nombre y un tipo de datos definen cada columna en una tabla de base de datos. El tipo de datos especificado le dice a MySQL qué tipo de valores almacenará, cuánto espacio requieren y qué tipo de operaciones puede realizar con este tipo de datos.

Tipos de datos MySQL

Hay muchos tipos de datos diferentes que puede almacenar en una tabla MySQL.

Se agrupan en cinco categorías principales:

  1. Tipos de datos numéricos
  2. Tipos de datos de fecha y hora
  3. Tipos de datos de cadena
  4. Tipos de datos espaciales
  5. Tipos de datos JSON

Siga leyendo para obtener más información sobre cada grupo y ver qué tipos de datos incluyen.

Tipos de datos numéricos

Al almacenar números en una columna de base de datos, utilice uno de los tipos de datos numéricos. MySQL admite tipos de datos numéricos tanto exactos como aproximados.

La categoría numérica se subdivide en los siguientes grupos:

  • Tipos de datos enteros
  • Tipos de datos de coma flotante
  • Tipos de datos de punto fijo
  • Tipos de datos de valores de bits

Tipos de enteros

Tipos de datos enteros se utilizan para números enteros (enteros). Incluyen valores tanto positivos como negativos. Sin embargo, no manejan números fraccionarios.

Por lo tanto, números como 30 y -5435 se pueden almacenar como tipos de datos enteros, mientras que 5,3 o 1/5 no.

Los tipos enteros están firmados o sin firmar. Se subdividen en función de su tamaño, y se diferencian por su longitud y rango.

TINYINT es un entero muy pequeño que usa 1 byte de almacenamiento Consta de hasta 4 dígitos . Su rango sin firmar es de 0 a 255 . Si está firmado, tiene un rango de -128 a 127 .

SMALLINT es un entero pequeño que usa 2 bytes de almacenamiento Consta de hasta 5 dígitos . Su rango sin firmar es de 0 a 65535 . Cuando se firma, tiene un rango de -32768 a 32767 .

MEDIUMINT es un entero de tamaño mediano que usa 3 bytes de almacenamiento Tiene hasta 9 dígitos . Si no está firmado, tiene un rango de 0 a 16777215 . Firmado, su valor mínimo es -8388608 , mientras que su valor máximo es 8388607 .

INT es un número entero que usa 4 bytes de almacenamiento Utiliza hasta 11 dígitos . Cuando no está firmado, oscila entre 0 a 4294967295 . Si está firmado, tiene el rango de -2147483648 a 2147483647 .

BIGINT es un entero grande que usa 8 bytes de almacenamiento Tiene hasta 20 dígitos . Su valor mínimo con signo es 0 , mientras que su valor máximo con signo es 18446744073709551615 . Si está firmado, tiene el rango de -9223372036854775808 al 9223372036854775807 .

Tipos de punto flotante

Los tipos de datos numéricos de coma flotante son números racionales que se utilizan para representar valores aproximados. Utilice tipos de datos de punto flotante para cálculos de alta precisión.

Los tipos de punto flotante incluyen:

  • FLOAT representa valores de precisión simple que usan 4 bytes e incluir hasta 6 o 7 dígitos significativos.
  • DOUBLE representan valores de doble precisión que usan 8 bytes e incluir hasta 15 o 16 dígitos significativos.

La sintaxis básica para definir FLOAT /DOUBLE tipos de datos es FLOAT(M,D) /DOUBLE(M,D) .

M representa el número total de dígitos, mientras que D es el número de decimales. Por ejemplo, el valor 5143,234 se definiría como 7,3 ya que tiene 7 dígitos en total y 3 dígitos después del punto decimal.

También puede usar el FLOAT(P) sintaxis para especificar un tipo de datos de punto flotante, donde P especifica la precisión. Si P tiene un valor de 0 a 23 , es una columna de precisión simple. Si la precisión es entre 24 y 53 , es una columna de precisión doble.

Bytes Rango (sin firmar) Rango (firmado)
TINYINT 1 de 0 a 255 de -128 a 127
ENTRADA PEQUEÑA 2 de 0 a 65535 de -32768 a 32767
MENTA MEDIANA 3 de 0 a 16777215 de -8388608 a 8388607
INT 4 de 0 a 4294967295 de -2147483648 a 2147483647
GRANDE 8 de 0 a 18446744073709551615 de -9223372036854775808 a 9223372036854775807

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.


Cent OS
  1. Mostrar tipos de bases de datos MySQL en bash

  2. ¿Cómo mover el directorio de datos Mysql?

  3. Confirmar datos en un contenedor mysql

  4. No se pueden enviar datos de MySQL a un archivo

  5. Habilitación de LOAD DATA LOCAL INFILE en mysql

Cómo cambiar el nombre de una columna en MySQL

Cómo soltar una tabla en MySQL

Tipos de datos de Python {Resumen completo}

¿Qué es la replicación de datos? {Tipos de replicación y esquemas explicados}

Instalar MySQL en CentOS 7

PHP MySQL Seleccionar datos

    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