Capítulo 2 Operaciones y tipos de datos de tablas

1. Creación de tablas

(1) Gramática

create table 表的名称(
名称1 数据类型1,
名称2 数据类型2,
名称3 数据类型3,
....
名称n 数据类型n
)character set 字符集 collate 校验规则 engine 存储引擎;

Las tablas que creamos están todas bajo una determinada biblioteca, por lo que debemos usar use 数据库名称;esta declaración para ingresar a la biblioteca de destino antes de realizar la operación de creación de una tabla.

Es posible que no se establezcan el conjunto de caracteres final, las reglas de validación y el motor de almacenamiento. Si no se establece, estos atributos de la tabla serán coherentes con la biblioteca donde se encuentra la tabla.

(2) Ejemplo

inserte la descripción de la imagen aquí

2. Ver todas las tablas de la biblioteca y la estructura de tabla específica

(1) Gramática

Ver todas las tablas:

show tables;

Ver la estructura de una tabla específica:

desc 表的名称;

(2) Ejemplo

inserte la descripción de la imagen aquí

Tres, modificación de la tabla

(1) Gramática

Inserte una nueva variable en la tabla.

alter table 表的名称 add 变量名称 数据类型;

Modificar las propiedades de una variable en una tabla

alter table 表的名称 modify 变量名称 数据类型;

Eliminar una variable en la tabla

alter table 表的名称 drop 变量名称;

modificar el nombre de la tabla

alter table 表的名称 rename to 新名称;

(2) Ejemplo

Agregue una nueva variable llamada edad a la tabla en T1.
inserte la descripción de la imagen aquí
Cambie el tipo de datos de name en la tabla T1 a varchar(30).
inserte la descripción de la imagen aquí
Elimine la variable de edad en la tabla T1.
inserte la descripción de la imagen aquí
Cambie el nombre de la tabla T1 ahora mismo a TTT.
inserte la descripción de la imagen aquí

Cuarto, elimina la tabla.

(1) Gramática

drop table 表的名称;

(2) Ejemplo

Suelta la tabla llamada TTT.
inserte la descripción de la imagen aquí

5. Tipo de datos

A través de la explicación anterior, encontramos que estas declaraciones son relativamente simples, pero lo que más nos confunde es en realidad el tipo de datos de estas variables. Por lo tanto, el autor le explicará los tipos de datos comunes en la base de datos mysql.

1. Clasificación del tipo de datos

inserte la descripción de la imagen aquí

2. Tipo de valor

(1) tipo entero

El tipo numérico es muy similar al int que aprendimos en c/c++, solo necesita elegir razonablemente de acuerdo con el rango de datos.
inserte la descripción de la imagen aquí

(2) Campo de bit: tipo de bit

Sintaxis básica:

bit(m)

El tipo de bit es un tipo de campo de bit, y la longitud del número de bits varía de 1 a 64. Si no especificamos la longitud del bit al usar el bit, la longitud predeterminada es 1, es decir, 1 bit.

Reglas de visualización:

Cuando asignamos un valor a una variable de tipo bit , el campo bit no muestra directamente el número, sino que encuentra el carácter correspondiente en el código ASCII y lo imprime.

Si tenemos tal valor, solo almacenamos 0 o 1, entonces podemos definir el bit (1). Esto ahorra espacio.

Como se muestra abajo:

inserte la descripción de la imagen aquí
Insertamos un 10, pero no se mostraba, pero insertamos un 65. Según la tabla de códigos ASCII, el 65 representa el carácter A, por lo que se imprime una A.

(3) Tipo decimal

A. tipo flotante

float es de tipo decimal y ocupa cuatro bytes de espacio.

gramática
float(m,d) m指的是显示长度,d是小数部分的位数。
float(m,d) unsigned 指的是无符号小数。

Nota: cuando mysql guarda decimales, los dígitos adicionales se redondearán de acuerdo con las reglas de redondeo.

ejemplo

Si definimos: float(4, 2), entonces el rango de valores de esta variable es: -99.99 ~ 99.99,

Por ejemplo, creamos una tabla que contiene solo un tipo float(4,2). Como se muestra en la siguiente figura:
inserte la descripción de la imagen aquí
Ahora insertamos tres datos en esta tabla, estos tres datos son: 89.99, 89.993, 89.999.
inserte la descripción de la imagen aquí
Encontramos que de acuerdo con nuestra configuración de lugares decimales, mysql redondeó nuestros datos.

Supongamos que insertamos un número mayor que el rango de datos.
inserte la descripción de la imagen aquí
En este momento, mysql informará un error y mysql nos indicará que los datos que insertamos exceden el rango predeterminado.

b. tipo decimal

gramática:
decimal(m,d)  指定长度为m,小数位数为d的浮点数。
decimal(m, d) unsigned 指的是无符号小数。
La diferencia entre decimal y float:

La precisión expresada por float y decimal no es la misma. La precisión representada por float es de aproximadamente 7 dígitos, el número máximo de dígitos m de un entero decimal es de 65 dígitos y el número máximo de dígitos admitido por un número decimal d es de 30 dígitos. Si se omite d, el valor predeterminado es 0. Si se omite m, el valor predeterminado es 10. Se recomienda decimal si desea una alta precisión decimal.

Podemos demostrar la precisión de los dos a través del siguiente ejemplo.
inserte la descripción de la imagen aquí
Descubrimos que insertamos datos en variables de tipo flotante y decimal al mismo tiempo: 23.12345612.
Cuando miramos los datos, encontramos que cuando a1 de tipo float almacenaba estos datos, ocurría un error en los datos.

3. Tipo de cadena

(1) carácter

gramática

char(l)   :固定长度的字符串,L是该字符串可以存储的字符数量。最多能够存储255个字符。

Por ejemplo:
char(2), esta variable significa que se pueden almacenar dos caracteres, y los caracteres pueden ser caracteres chinos o letras.
inserte la descripción de la imagen aquí

(2) varchar

gramática:

varchar(L):可变长度字符串,L表示字符个数,最大长度为65535字节(这里的单位是字节,不是字符)。

Discusión sobre la cantidad de caracteres almacenados en varchar

varchar(len), el tamaño de este len en realidad está estrechamente relacionado con la codificación de la tabla. La variable varchar utilizará de 1 a 3 bytes para registrar el tamaño de los datos, por lo que el número efectivo de bytes de varchar es 65532.
Cuando la codificación de nuestra tabla es utf8, un carácter ocupa 3 bytes, por lo que Len = (65532/3) = 21844. Si la codificación es gbk, entonces len=65532/2=32766.

Comparación de char y varchar

inserte la descripción de la imagen aquí

¿Cómo elegir una cadena de longitud fija o de longitud variable?

  • Si se determina que los datos tienen la misma longitud, utilice una longitud fija.
  • Si la longitud de los datos es variable, utilice longitud variable.
  • El espacio en disco de longitud fija es un desperdicio, pero eficiente.
  • La longitud variable ahorra espacio en disco, pero es menos eficiente.

4. Tipo de fecha y hora

(1) fecha

date representa la fecha, y el formato de la representación de la fecha es: yyyy-mm-dd, ocupando tres bytes en total.

(2) fecha y hora

datetime representa hora + fecha, y el formato es: yyyy-mm-dd HH:ii:ss, ocupando ocho bytes.

(3) marca de tiempo

Timestamp, a partir de 1970, su formato de representación es exactamente el mismo que datetime, ocupando cuatro bytes.

Ejemplos de tres fechas y horas

Primero creamos una tabla llamada T2, que tiene tres variables llamadas t1, t2 y t3. Los tipos de las tres variables son: date, datetime, timestamp.
inserte la descripción de la imagen aquí
Ahora comenzamos a insertar datos en él, aquí solo insertamos t1 y t2.
inserte la descripción de la imagen aquí
Ahora veamos los datos de la tabla.
inserte la descripción de la imagen aquí
Descubrimos que los datos representados por t1 y t2 fueron insertados por nosotros, pero no insertamos el tiempo de t3. Pero los datos de t3 aparecieron en la tabla. Estos datos son en realidad el momento en que el autor escribió este artículo, es decir, el momento en que insertamos estos datos.

A partir de esto, podemos encontrar que la marca de tiempo se llenará automáticamente con la hora cuando insertemos o modifiquemos una fila de datos.

5. enumerar y establecer

(1) tipo de radio enum

enum es un tipo de radio, entonces, ¿qué es un tipo de radio?

Por ejemplo, ahora queremos que los usuarios ingresen su género, por lo que el género no es más que un niño o una niña, y puede elegir uno de los dos. Luego, en este momento, podemos proporcionar opciones para que los usuarios elijan directamente.

El beneficio de este tipo es que restringe la entrada del usuario mientras ahorra espacio. Cuando usamos enum para configurar las opciones, si el usuario ingresa contenido de datos que no sean las opciones, mysql informará un error. Por lo tanto, usar enum puede restringir la entrada del usuario y garantizar la racionalidad de los datos.

Además, cuando configuramos la opción, mysql no almacenará el contenido de la opción al almacenar, pero almacenará la etiqueta de la opción. De esta forma, una opción larga puede ser reemplazada por un carácter, logrando así el propósito de ahorrar espacio.

gramática

enum('选项1','选项2,'选项3'....)

Por ejemplo, creamos una tabla llamada T4, que almacena variables de tipo enumeración. Al mismo tiempo insertamos dos conjuntos de datos.
inserte la descripción de la imagen aquí
Como se muestra en la figura anterior, hemos insertado dos conjuntos de datos, un conjunto de datos se inserta en el contenido de la opción y un conjunto de datos se inserta en el número de opción. Al final, se puede insertar con éxito y el contenido de los datos es el siguiente.
inserte la descripción de la imagen aquí

(2) establecer tipo de opción múltiple

set es un tipo de datos de opción múltiple, es decir, el usuario puede seleccionar más de una de las opciones. Luego, también hay dos métodos de inserción al insertar datos. Una es desmontar según el contenido de los datos. Otra forma es insertar en modo binario. Por ejemplo, insertamos un 3, 3 binario 011, es decir, elegimos la primera y la segunda opción.

set('选项1','选项2,'选项3'....)

También creamos una tabla con solo un conjunto e insertamos datos en la tabla de dos maneras. El efecto final se muestra en la siguiente figura.
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_72060925/article/details/131741254
Recomendado
Clasificación