Diferentes campos de tipo de datos de la base de datos mysql establecen tamaño de longitud, rango de valores y espacio de almacenamiento

objetivo de aprendizaje:

学习的目标

  • Sepa cómo establecer la longitud de los diferentes campos de tipo de datos, de modo que cuando use datos mysql, establezca la longitud adecuada para el campo utilizado.

Contenido de aprendizaje:

学习的内容

  1. Entero
  2. tipo de cadena
  3. TEXTO
  4. tipo de tiempo

Resumir:

提示:总结

  • 1. tipo entero

1. El tipo de valor del tipo entero ha limitado el rango de valores. Hay tipos enteros con signo y sin signo, y el valor M no representa la longitud del carácter numérico que se puede almacenar. Representa los datos que se muestran cuando se muestra longitud mínima;

 2. Cuando la longitud del carácter almacenado excede el valor M, no hay impacto, siempre que no exceda el rango limitado por el tipo numérico;

3. Cuando la longitud del carácter almacenado es menor que el valor M, el efecto solo se puede ver cuando el relleno cero está configurado para llenarse con 0. En otras palabras, sin el relleno cero, el valor M es inútil.

Por ejemplo, si configura int(11), entonces hay un valor de campo de 123, entonces este valor es de 3 dígitos en el ancho de visualización, y el diseño es para mostrar 11 dígitos, por lo que en este momento, si diseña en el field Cuando elige zerofill, puede encontrar que 123 se convierte en 00000000123, es decir, los 8 bits restantes se rellenan con 0.

Entonces, cuando diseñamos la base de datos mysql, al crear una tabla, mysql asignará automáticamente la longitud: int(11), tinyint(4), smallint(6), mediumint(9), bigint(20).

Entonces, solo use estas longitudes de visualización predeterminadas. No es necesario que complete la longitud usted mismo, como int (10), tinyint (1), etc., que son básicamente inútiles. Y conduce a la diversificación de los tipos de campos de la tabla.

  • 2. Tipo de cadena (CHAR(M), VARCHAR(M))

inserte la descripción de la imagen aquí

La longitud de la columna definida por CHAR(M) es fija y el valor de M puede estar entre 0 y 255. Al guardar los valores de CHAR, los espacios se rellenan a la derecha de ellos para alcanzar la longitud especificada. Los espacios finales se eliminan cuando se recuperan los valores CHAR. No se realiza ninguna conversión de casos durante el almacenamiento o la recuperación. CHAR es muy conveniente para almacenar datos de longitud fija, y el índice en el campo CHAR es muy eficiente. Por ejemplo, si define char (10), no importa si los datos que almacena alcanzan los 10 bytes o no, ocuparán 10 bytes de espacio se llena automáticamente con espacios.

La longitud de la columna definida por VARCHAR(M) es una cadena de longitud variable y el valor de M puede estar entre 0 y 65535. (La longitud efectiva máxima de VARCHAR está determinada por el tamaño máximo de fila y el juego de caracteres utilizado. La longitud máxima global es de 65.532 caracteres Festival). Al guardar un valor VARCHAR, solo se guarda la cantidad requerida de caracteres, más un byte para registrar la longitud (se usan dos bytes si la longitud de la declaración de la columna supera los 255). Los valores VARCHAR se guardan sin relleno. Los espacios finales se conservan cuando los valores se guardan y recuperan, de conformidad con el estándar SQL. Varchar almacena datos de longitud variable, pero la eficiencia de almacenamiento no es tan alta como CHAR. Si el valor posible de un campo no tiene una longitud fija, solo sabemos que no puede exceder los 10 caracteres y es más rentable definirlo como VARCHAR(10).

La mayor diferencia entre CHAR y VARCHAR es que uno es de longitud fija y el otro de longitud variable .

En resumen,
desde la perspectiva del espacio, es apropiado usar varchar,
desde la perspectiva de la eficiencia, es apropiado usar char. La clave es encontrar un punto de compensación de acuerdo con la situación real. Cuando un gran número de los requisitos de consulta son obligatorios, se utiliza char.
Cuando es necesario guardar una gran cantidad de datos, se usa varchar para ahorrar espacio de almacenamiento.

  • TEXTO

Una columna de TEXTO con una longitud máxima de 65.535 (2 a la 16ª potencia - 1) caracteres .

El texto se utiliza principalmente para almacenar texto no binario, como publicaciones en foros, temas o preguntas y respuestas que conoce Baidu. La columna TEXTO no puede tener un valor predeterminado. Durante el almacenamiento o la recuperación, no hay conversión de mayúsculas y minúsculas. Si especifica la longitud más tarde, no se informará ningún error, pero esta longitud no funciona, lo que significa que cuando inserta datos, excede el valor que especificó La longitud todavía se puede insertar normalmente. De hecho, se puede resumir como usar TEXTO cuando se almacena una gran cantidad de información de texto.

  • Resumen
    1, la diferencia en longitud, char varía de 0 a 255 y varchar es de hasta 64 K. Si encuentra texto grande, considere usar texto, hasta 4G.

2. En términos de eficiencia, es básicamente char>varchar>text .

3. char y varchar pueden tener valores predeterminados, pero el texto no puede especificar valores predeterminados.

  • tipo de tiempo

inserte la descripción de la imagen aquí

El tipo DATETIME se usa cuando necesita un valor que contenga información de fecha y hora. MySQL recupera y muestra los valores DATETIME en formato 'YYYY-MM-DD HH:MM:SS', el rango admitido es '1000-01-01 00:00:00' a '9999-12-31 23:59: 59'.

El tipo DATE se usa cuando solo necesita un valor de fecha, sin una parte de tiempo. MySQL recupera y muestra los valores de FECHA en formato 'YYYY-MM-DD', el rango admitido es '1000-01-01' a '9999-12-31'.

El tipo de columna TIMESTAMP proporciona un tipo que puede usar para marcar automáticamente las operaciones INSERTAR o ACTUALIZAR con la fecha y hora actuales.

El tipo de datos TIME representa la hora del día. MySQL recupera y muestra los valores de TIEMPO en formato "HH:MM:SS". El intervalo admitido es de '00:00:00' a '23:59:59'.

- [x] La diferencia entre fecha y hora y marca de tiempo:
1. El intervalo de fechas de fecha y hora es relativamente grande; si tiene datos anteriores a 1970, aún necesita usar fecha y hora. Pero el espacio de almacenamiento que ocupa la marca de tiempo es relativamente pequeño.

2. La columna de tipo de marca de tiempo tiene otra característica: por defecto, al insertar y actualizar datos, la columna de marca de tiempo se llenará/actualizará automáticamente con la hora actual (CURRENT_TIMESTAMP).
3. La comparación de la marca de tiempo se ve afectada por la zona horaria y la versión MYSQL y el MODO SQL del servidor.

Supongo que te gusta

Origin blog.csdn.net/YHLSunshine/article/details/131112477
Recomendado
Clasificación