【MySQL】Tipo de datos MySQL

Tabla de contenido

1. tipo minúsculo

2. tipo de bit

3. Tipo decimal

1. tipo de flotador

2. Tipo decimal

3. Tipo de cadena

1. tipo de carácter 

2. tipo varchar

4. Tipo de fecha

5. enumerar y establecer

1. Sintaxis de tipo de enumeración y colección

2. Buscar tipos de enumeración y colección

6. función find_in_set

Escribe al final:


1. tipo minúsculo

Tomamos el tipo tinyint como ejemplo para introducir los tipos de la serie int.

1) Construyamos primero una tabla simple:

create table if not exists t1(
    num tinyint
);

2) Luego observamos directamente a Sanlian para comprobar esta tabla:

Las acciones incluyen:

desc t1;
show tables;
show create table t1;

3) La siguiente es la operación de inserción:

El rango de valores de tinyint es -128 ~ 127, intentemos insertar algunos valores ahora:

insert into t1 values (-128);
insert into t1 values (127);
insert into t1 values (0);
insert into t1 values (1);
insert into t1 values (-1);

Luego, veamos los datos que acabamos de insertar:

select * from t1;

¿Qué pasa si insertamos un valor incorrecto?

MySQL informará directamente de un error y evitará que lo insertemos.

A continuación, creamos otra tabla y creamos un tipo sin firmar:

create table if not exists t1(
    num tinyint unsigned
);

Su rango de datos es 0 ~ 255.

Entonces, si insertamos un número negativo, definitivamente informará un error:

2. tipo de bit

1) Las reglas antiguas, o empezar desde la tabla:

create table if not exists t3(
    id int,
    online bit(1)
);

2) Ver tabla:

3) Insertar datos:

insert into t3 (id, online) values (123, 1);
insert into t3 (id, online) values (123, 2);

 Se informa un error cuando se inserta 2, porque solo admite un bit:

Podemos modificar su valor:

alter table t3 modify online bit(10);

Podemos ver que la modificación fue exitosa aquí:

Si no incluimos el tamaño de bits cuando construimos la tabla, el valor predeterminado es 1.

3. Tipo decimal

1. tipo de flotador

 1) Como de costumbre, comience a aprender desde la creación de tablas:

create table if not exists t5(
    id int,
    salary float(4, 2)
);

2) Mira la tabla:

3) Intenta insertar datos:

insert into t5 (id, salary) values (1, 99.99);
insert into t5 (id, salary) values (1, 199.99);

En los paréntesis del tipo float, el primero es su número de dígitos, elegimos 4 por lo que el máximo son 4 dígitos,

El segundo es su precisión, elegimos 2 para que su lugar decimal sea como máximo 2. 

Cabe señalar aquí que debido a que la precisión requiere dos dígitos, la parte entera solo puede ser de dos dígitos.

Aquí hay otro fenómeno mágico, es decir, la parte de precisión se calcula de acuerdo con el redondeo.

Entonces 99.994 puede insertar tales números.

Cuando construimos una tabla, también podemos agregar unsigned después del tipo flotante para que no tenga signo.          

Si es el flotador que se usa por defecto, lo configura usted mismo, entonces tendrá cierta pérdida de precisión. (alrededor de 7 dígitos)

2. Tipo decimal

En uso, es exactamente igual que el tipo flotante.

Pero tiene una ventaja única sobre float, así que lo diré aquí:

Cuando float almacena algunos números relativamente grandes, habrá un problema de pérdida de precisión.

Pero lo que almacena decimal es lo que es.

3. Tipo de cadena

1. tipo de carácter 

1) Crea una tabla

create table if not exists t8(
    id int,
    name char(2)
);

2) Insertar datos:

Podemos saber que char (2) significa que la longitud de carácter más larga es 2.

Nota: El carácter máximo solo puede ser 255.

2. tipo varchar

1) Crea una tabla

create table if not exists t7(
    id int,
    name varchar(6)
);

2) insertar

Se puede ver que la longitud máxima que puede insertar es 6. Tenga en cuenta que varchar admite hasta 21845.

Que char y varchar se ven iguales, ¿cuál es la diferencia entre ellos?

char es de longitud fija (abierto al principio), varchar es de longitud variable (cuánto se usa, cuánto se abre)

4. Tipo de fecha

Hay tres tipos de fechas comunes: fecha, fecha y hora, marca de tiempo

1) Crea una tabla

create table if not exists t9(
    t1 date,
    t2 datetime,
    t3 timestamp
);

2) Ver tabla

La marca de tiempo tiene un valor predeterminado, que debe ser la marca de tiempo actual.

3) Insertar valor

Podemos ver que esto se inserta correctamente

4) Ver el resultado de la inserción

 t3 muestra automáticamente la hora actual.

5. enumerar y establecer

1. Sintaxis de tipo de enumeración y colección

el valor de enumeración enum es un tipo de radio

El tipo de colección de conjuntos es un tipo de selección múltiple

1) Crea una tabla

create table if not exists t10(
    username varchar(20),
    sex enum('男', '女'),
    hobby set('写代码', '睡觉', '打游戏')
);

2) Ver tabla

3) Insertar valores 

Entonces:

Podemos ver el valor que insertamos.

Cabe señalar aquí que cuando inserta en la posición sexual en el futuro, solo puede insertar el valor de enumeración que dio, y el valor de enumeración comienza desde 1, por lo que también puede insertar el valor de enumeración para representar el valor que insertamos, como insertar 1 Es insertar un hombre. 

Veamos si podemos insertar múltiples valores en la colección:

Podemos ver que se pueden insertar múltiples valores. Cabe señalar aquí que si no se inserta nada, será NULL, y si se inserta 0, será una cadena vacía, pero los números en la colección son diferentes a los de la enumeración, podemos imaginar los 3 valores. en esta colección como A binario 000, el bit más bajo representa el primer valor, por lo que insertar 1 es 001, insertar y escribir código:

Si la inserción es 3, la inserción debe estar escribiendo código y durmiendo:

Se puede ver que este es de hecho el caso. 

Resumen: las enumeraciones son subíndices, las colecciones son mapas de bits.

2. Buscar tipos de enumeración y colección

 Primero busquemos según el valor de la enumeración:

select * from t10 where sex=1;
select * from t10 where sex=2;

La colección en realidad se encuentra así:

select * from t10 where hobby=1;
select * from t10 where hobby=3;
select * from t10 where hobby=7;

Entonces, si queremos filtrar, por ejemplo, averiguar todos los pasatiempos y dormir, ¿cómo deberíamos encontrarlo?

Debido a que nuestra búsqueda anterior es una coincidencia estricta, ¿hay alguna forma más flexible?

6. función find_in_set

De hecho, las funciones se pueden ejecutar en MySQL:

find_in_set solo puede encontrar si un elemento está en el conjunto correspondiente.

De esta manera podemos:

select * from t10 where find_in_set('睡觉', hobby);

 Lo encontré con éxito.

Escribe al final:

Lo anterior es el contenido de este artículo, gracias por leer.

Si sientes que has ganado algo, puedes darle un me gusta al blogger .

Si hay omisiones o errores en el contenido del artículo, envíe un mensaje privado al blogger o indíquelo en el área de comentarios ~

Supongo que te gusta

Origin blog.csdn.net/Locky136/article/details/132135402
Recomendado
Clasificación