Cinco días para aprender MySQL, el tercer día

1. Consulta multitabla

Producto cartesiano:
Hay dos conjuntos A, B, toma todas las composiciones de estos dos conjuntos.
Para completar una consulta de varias tablas, debe eliminar datos inútiles

1.1 Consulta de combinación interna

Unión interna implícita: use la condición where para eliminar datos inútiles
– muestre la unión interna:
sintaxis: seleccione la lista de campos del nombre de la tabla [interior] únase al nombre de la tabla 2 con la condición;
Nota: de qué tablas consultar datos, cuáles son las condiciones, qué campos son consultados

1.2, consulta de unión externa

Combinación externa izquierda:
sintaxis: seleccionar lista de campos de la tabla 1 Combinación izquierda [externa] de la tabla 2 con condición
– Combinación externa derecha:
sintaxis: lista de campos seleccionada de la tabla 1 Combinación derecha [externa] de la tabla 2 con condición

1.3 Subconsultas

Concepto: una consulta está anidada en una consulta, y la consulta anidada se denomina
subconsulta. El resultado de una subconsulta es una sola fila y una sola columna: una subconsulta se puede usar como condición y un operador se puede usar para determinar eso.
El resultado de la subconsulta es de varias filas y una sola columna: la subconsulta se puede usar como condición, y el operador in se usa para juzgar
el resultado de la subconsulta es de varias filas y varias columnas: la subconsulta se puede usar como mesa virtual

2. Asuntos

2.1, la introducción básica de asuntos

Concepto: si una transacción gestiona una operación comercial con varios pasos, estas operaciones tienen éxito o fallan al mismo tiempo.
Transacción abierta: iniciar transacción;
retroceder: retroceder;
confirmar: confirmar; confirmación
automática: mysql es el
oráculo de confirmación automática: la base de datos se confirma manualmente de forma predeterminada Confirmación manual
: primero debe iniciar la transacción y luego confirmar para
modificar la método de confirmación predeterminado de la transacción:

2.2 Cuatro características de los asuntos

Atomicidad: es la unidad de operación más pequeña que es indivisible y tiene éxito o falla al mismo tiempo.
Persistencia: cuando una transacción se confirma o revierte, la base de datos vuelve a guardar datos de forma persistente.
Aislamiento: entre múltiples transacciones. Independiente.
Coherencia: antes y después de una operación de transacción, la cantidad total de datos sigue siendo la misma

2.3, nivel de aislamiento de transacciones

Concepto: Aislada entre múltiples transacciones, la misma independiente. Sin embargo, si varias transacciones operan en el mismo lote de datos, esto causará algunos problemas. Establecer diferentes niveles de aislamiento puede resolver estos problemas.
Hay problemas:
– Lectura sucia: una transacción lee datos que no se han confirmado en otra transacción
– no -Lectura repetible: En la misma transacción, los datos leídos dos veces son diferentes.
– Lectura fantasma: una transacción opera todos los registros en la base de datos y otra transacción agrega un dato, por lo que la primera transacción no puede consultar sus propias modificaciones.

Nivel de aislamiento:
–lectura no confirmada: lectura no confirmada
Problemas: lectura sucia, lectura no repetible, lectura fantasma
–lectura confirmada: lectura confirmada Problema: lectura no repetible,
lectura fantasma
–lectura repetible: lectura repetible (valor predeterminado de MySQL)
Problemas generados: fantasma lectura
–serializable: la serialización
puede resolver todos los problemas
Nota: El nivel de aislamiento es cada vez más alto de pequeño a grande, pero la eficiencia es cada vez más baja.La
base de datos establece el nivel de aislamiento: establece el nivel de aislamiento de transacción global cadena de nivel;
nivel: seleccione @@tx_isolation;

3. DCL (Gestionar Usuarios, Autorización)

3.1 Administrar usuarios

Agregar usuario: CREAR USUARIO 'nombre de usuario'@'nombre de host' IDENTIFICADO POR 'contraseña';
CREAR USUARIO 'nombre de usuario'@'%' IDENTIFICADO POR 'contraseña'; --eliminar
usuario: DROP USER 'nombre de usuario'@'nombre de host';
– consulta usuario: cambie a la base de datos mysql: USE mysql; operación de consulta: SELECCIONE * DEL USUARIO;
– comodín: % significa que puede usar un usuario para iniciar sesión en la base de datos en cualquier host

3.2 Autorización

Permiso de consulta: MOSTRAR CONCESIONES PARA 'nombre de usuario' @ 'nombre de host';
- Permiso de concesión: otorgar lista de permisos en
el nombre de la base de datos. 'nombre de usuario'@'nombre de host';

Supongo que te gusta

Origin blog.csdn.net/weixin_45573296/article/details/123265465
Recomendado
Clasificación