MySQL - Sección 6 - Adición, eliminación, consulta y modificación de tablas MySQL

1. Descripción general de agregar, eliminar, verificar y modificar tablas MySQL

• CRUD para abreviar: Crear (agregar), Recuperar (buscar), Actualizar (modificar), Eliminar (eliminar).

• El objeto de operación de CRUD son los datos de la tabla, que es un lenguaje típico de manipulación de datos DML (lenguaje de manipulación de datos).


2.Crear nuevos datos

2.1 insertar comando 

El comando de inserción para agregar nuevos datos es el siguiente:

INSERT [INTO] table_name [(column1 [, column2] ...)] VALUES (value_list1) [, (value_list2)] ...;

Explicar:

• En SQL, las letras mayúsculas representan palabras clave y las que están entre [ ] representan elementos opcionales.
• Cada value_list en SQL representa un registro a insertar, y cada value_list consta de varios valores de columna a insertar.
• La lista de columnas en SQL, que se utiliza para especificar en qué columna de la tabla debe insertarse cada valor de columna en cada lista_de_valores.

A modo de demostración, cree una tabla de estudiantes a continuación, que contiene la identificación de la clave principal autoincrementable, el número de estudiante, el nombre y el número de QQ. como sigue:

Verifique la estructura de la tabla después de crear la tabla, puede ver que la estructura de la tabla es la siguiente:

2.2 Datos de una sola fila + inserción de columna completa

Datos de una sola fila + inserción de columna completa:

A continuación, se utiliza la declaración de inserción para insertar registros en la tabla de estudiantes. Cada vez que se inserta un registro en la tabla y la lista de columnas no se especifica al insertar el registro, significa que todas las columnas se insertan de acuerdo con el orden de columnas predeterminado en la tabla Por lo tanto, en cada registro insertado Los valores de columna deben enumerarse secuencialmente en el orden de la tabla. como sigue:

2.3 Datos de varias filas + inserción de columna especificada

Datos de varias filas + inserción de columna especificada:

El uso de la declaración de inserción también puede insertar varios registros en la tabla a la vez. Los registros múltiples insertados están separados por comas, y al insertar registros, solo se pueden especificar ciertas columnas para la inserción. como sigue:

Nota: Al insertar registros, solo se pueden insertar columnas que pueden estar vacías o campos de crecimiento automático sin especificar un valor, y las columnas que no pueden estar vacías deben insertarse con un valor específico; de lo contrario, se informará un error. .

2.4 INSERTAR OTRA ACTUALIZACIÓN

Inserte el escenario de uso actualizado de otro modo:

Al insertar un registro en una tabla, si la clave principal o la clave única en el registro que se va a insertar ya existe, la inserción fallará debido a un conflicto de clave principal o un conflicto de clave única. como sigue:

En este momento, puede realizar opcionalmente una operación de actualización síncrona:

• Si no hay datos en conflicto en la tabla, los datos se insertan directamente.

• Si hay datos en conflicto en la tabla, los datos de la tabla se actualizan.

El SQL para insertar, de lo contrario, actualizar es el siguiente:

INSERT ... ON DUPLICATE UPDATE column1=value1 [, column2=value2] ...;

Explicar:

• En SQL, las letras mayúsculas representan palabras clave y las que están entre [ ] representan elementos opcionales.
• La sintaxis después de INSERT en SQL es la misma que la instrucción INSERT anterior.
• La columna = valor después de ACTUALIZAR indica el valor de la columna que debe actualizarse cuando hay un conflicto en el registro insertado.

insertar otra actualización:

Por ejemplo, al insertar un registro en la tabla de estudiantes, si no hay un conflicto de clave principal, el registro se insertará directamente. Si hay un conflicto de clave principal, se actualizará el número de alumno y el nombre del registro en conflicto en la tabla. . como sigue:

Después de ejecutar el SQL para insertar o actualizar, puede juzgar el estado de inserción de estos datos por el número de filas de datos afectadas:

• 0 filas afectadas: hay datos en conflicto en la tabla, pero el valor de los datos en conflicto es el mismo que el valor de actualización especificado (los datos que se actualizarán son los mismos que los datos originales).
• 1 fila afectada: no hay datos en conflicto en la tabla y los datos se insertan directamente.
• 2 filas afectadas: hay datos en conflicto en la tabla y los datos se han actualizado.

2.5 Reemplazar datos

Datos de reemplazo:

• Si no hay datos en conflicto en la tabla, los datos se insertan directamente.

• Si hay datos en conflicto en la tabla, elimine primero los datos en conflicto en la tabla y luego inserte los datos.

Para lograr el efecto anterior, solo necesita cambiar INSERT en la instrucción SQL a REPLACE al insertar datos. Por ejemplo:

Después de ejecutar el SQL para el reemplazo de datos, también puede juzgar el estado de inserción de estos datos por la cantidad de filas de datos afectadas:

• 1 fila afectada: no hay datos en conflicto en la tabla y los datos se insertan directamente.

• 2 filas afectadas: hay datos en conflicto en la tabla, y los datos en conflicto se eliminan y se reinsertan.


3.Recuperar  datos de búsqueda

3.1 Seleccionar comando

El SQL para encontrar los datos es el siguiente:

SELECT [DISTINCT] {* | {column1 [, column2] ...}} FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...];

Explicar:

• En SQL, las letras mayúsculas representan palabras clave y las que están entre [ ] representan elementos opcionales.

• El | en { } significa que se puede seleccionar la declaración de la izquierda o la declaración de la derecha.

A modo de demostración, cree una tabla de puntajes a continuación, que contenga la identificación de la clave principal de aumento automático, el nombre y el puntaje de chino, el puntaje de matemáticas y el puntaje de inglés del estudiante. como sigue:

Verifique la estructura de la tabla después de crear la tabla, puede ver que la estructura de la tabla es la siguiente:

A continuación, inserte algunos registros de prueba en la tabla para que los encontremos. como sigue:

3.2 Columnas SELECCIONAR

Consulta de columna completa:

Al consultar datos, use directamente * para reemplazar la lista de columnas, lo que significa realizar una consulta de columna completa, y luego se mostrará toda la información de columna de los registros filtrados. como sigue:

Nota: En general, no se recomienda utilizar * para la consulta de columna completa, porque los datos consultados deben transmitirse desde el servidor MySQL al host a través de la red. Cuantas más columnas se consulten, mayor será la cantidad de datos que se consultarán. Además, realizar consultas de columna completa también puede afectar el uso de índices.

Consulta de columna especificada:

Al consultar datos, también puede consultar solo las columnas especificadas. En este momento, puede enumerar las columnas que deben consultarse en la lista de columnas. como sigue:

El campo de consulta es una expresión:

Al consultar datos, además de los nombres de columna que se pueden enumerar en la lista de columnas, también podemos enumerar expresiones en la lista de columnas. como sigue:

Porque select puede usarse no solo para consultar datos, sino también para calcular ciertas expresiones o ejecutar ciertas funciones. como sigue:

Si enumeramos la expresión en la lista de columnas, la expresión se ejecutará cada vez que se filtre un registro y luego el resultado del cálculo de la expresión se mostrará como un valor de columna del registro.

La expresión en la lista de columnas puede contener los campos existentes en la tabla. En este momento, cada vez que se filtra un registro, el valor de la columna correspondiente en el registro se proporcionará a la expresión para el cálculo. como sigue:

Las expresiones en la lista de columnas también pueden contener campos existentes en varias tablas, luego podemos calcular datos más significativos a través de las expresiones. como sigue:

Especifique un alias para los resultados de la consulta:

El SQL para especificar un alias para el resultado de una consulta es el siguiente:

SELECT column [AS] alias_name [...] FROM table_name;

Explicar:

• En SQL, las letras mayúsculas representan palabras clave y las que están entre [ ] representan elementos opcionales.

Por ejemplo, al consultar los datos en la tabla de calificaciones, agregue las tres materias en cada registro y luego asigne el nombre de alias de la columna correspondiente al resultado del cálculo a "puntaje total". como sigue:

Deduplicación de resultados:

Al consultar la tabla de puntuación, especifique la columna correspondiente a la puntuación matemática de la consulta y podrá ver que hay puntuaciones repetidas en la puntuación matemática. como sigue:

Si desea deduplicar los resultados de la consulta, puede agregar distintos después de seleccionar en SQL. como sigue:

3.3.DÓNDE condición

DONDE condición:

La diferencia de agregar una cláusula where:

• Si no se especifica la cláusula where al consultar los datos, todos los registros de la tabla se utilizarán directamente como fuente de datos para ejecutar la instrucción de selección de forma secuencial.
• Si se especifica la cláusula where al consultar los datos, los registros que cumplan las condiciones se filtrarán de acuerdo con la cláusula where al consultar los datos, y luego la declaración de selección se ejecutará secuencialmente utilizando los registros que cumplan las condiciones como fuente de datos. .
Se pueden especificar una o más condiciones de filtro en la cláusula where, y se utilizan los operadores lógicos Y u O para asociar cada condición de filtro. Los operadores de comparación y los operadores lógicos comúnmente utilizados en la cláusula where se indican a continuación.

Operadores de comparación:

Operadores logicos:

Consulte a los estudiantes que reprobaron en inglés y sus puntajes en inglés:

En la cláusula where, indique que la condición del filtro es que la puntuación en inglés sea inferior a 60, y en la lista de columnas de selección, especifique que las columnas a consultar son nombre y puntuación en inglés. como sigue:

Consulte a los estudiantes cuyas puntuaciones en chino están entre 80 y 90 y sus puntuaciones en chino:

En la cláusula where, indique que la condición del filtro es que el puntaje chino sea mayor o igual a 80 y menor o igual a 90, y en la lista de columnas de selección, especifique que las columnas a consultar son nombre y puntaje chino . como sigue:

Además, BETWEEN a0 AND a1 también se puede usar aquí para indicar el rango de la puntuación del idioma. como sigue:

Consulte a los estudiantes cuyas puntuaciones en matemáticas sean 58 o 59 o 98 o 99 y sus puntuaciones en matemáticas:

En la cláusula where, indique que la condición de filtro es que el puntaje matemático sea igual a 58 o 59 o 98 o 99, y en la lista de columnas de selección, especifique que la columna a consultar es nombre y puntaje matemático. como sigue:

Además, el método de IN(58,59,98,99) también se puede usar aquí para juzgar si las puntuaciones de matemáticas cumplen con los requisitos de evaluación. como sigue:

Consulta al compañero de clase de apellido Zhao y al compañero de clase de Zhao respectivamente:

Consulta de estudiantes con el apellido Zhao:

En la cláusula where, use la coincidencia aproximada para juzgar si el apellido del compañero de clase actual es Zhao (debe usar % para hacer coincidir varios caracteres) y especifique la columna que se consultará como nombre en la lista de columnas de selección. como sigue:

Pregunta por un compañero de clase llamado Zhao:

En la cláusula where, juzgue si el compañero de clase actual es Zhao a través de la coincidencia aproximada (debe usar _ para hacer coincidir estrictamente un solo carácter) y especifique la columna que se consultará como nombre en la lista de columnas de selección. como sigue:

Consulte a los estudiantes cuyas puntuaciones en chino son mejores que las puntuaciones en inglés:

En la cláusula where, indique que la condición de filtro es que la puntuación en chino sea mayor que la puntuación en inglés, y en la lista de columnas de selección, especifique que las columnas que se consultarán son el nombre, la puntuación en chino y la puntuación en inglés. como sigue:

Consulta de alumnos cuya puntuación total sea inferior a 200 puntos:

Agregue una consulta de expresión a la lista de columnas de selección. La expresión de la consulta es la suma de las puntuaciones de chino, matemáticas e inglés. Para facilitar la observación, puede especificar un alias para la columna correspondiente a la expresión como "puntuación total". y especifique el filtro en la cláusula where. La condición es que la suma de los tres sujetos sea inferior a 200. como sigue:

Cabe señalar que el alias especificado en select no se puede utilizar en la cláusula where:

• Al consultar datos, primero filtre los registros calificados de acuerdo con la cláusula where.
• A continuación, utilice los registros que cumplan las condiciones como fuente de datos para ejecutar la instrucción de selección en secuencia.
Es decir, la cláusula where se ejecuta antes que la instrucción select, por lo que no se puede usar un alias en la cláusula where, si se usa un alias en la cláusula where, se reportará un error al consultar los datos. como sigue:

Consulta para estudiantes cuya puntuación en chino sea superior a 80 y cuyo apellido no sea Zhao:

En la cláusula where, indique que la condición del filtro es que la puntuación de chino sea superior a 80, y use coincidencias parciales y no para asegurarse de que el apellido del estudiante no sea Zhao, y especifique la columna que se consultará como nombre y puntuación de chino en el lista de columnas de selección. como sigue:

Consulta Zhao, de lo contrario, el puntaje total es mayor a 200 y el puntaje en chino es menor que el puntaje en matemáticas y el puntaje en inglés es mayor a 80 puntos:

El requisito de este tema es comprobar los resultados. La persona consultada es Zhao, o la puntuación total es superior a 200 puntos y la puntuación en chino es inferior a la puntuación en matemáticas y la puntuación en inglés es superior a 80 puntos. , la consulta de expresión y las operaciones lógicas son necesarias para el símbolo de consulta. como sigue:

Consulta NULA:

Prepare el formulario de prueba:

Consulta de estudiantes con números QQ conocidos:

En la cláusula where, indique que la condición del filtro es que el número QQ no sea NULL, y en la lista de columnas de selección, indique que las columnas a consultar son nombre y número QQ. como sigue:

 

Consulta de estudiantes con números QQ desconocidos:

En la cláusula where, indique que la condición de filtro es QQ número es NULL, y en la lista de columnas de selección, especifique las columnas que se consultarán como nombre y número QQ. como sigue:

Cabe señalar que el operador <=> debe usarse cuando se compara con valores NULL, y el operador = no puede obtener resultados de consulta correctos. como sigue:

Debido a que el operador = es NULL-inseguro, usar =el operador para comparar cualquier valor con NULL devuelve NULL. como sigue:

Pero el operador <=> es seguro para NULL Usar el operador <=> para comparar NULL con NULL devuelve VERDADERO (1), y comparar un valor no NULL con NULL devuelve FALSO (0). como sigue:

3.4 Clasificación de resultados

3.5 Filtrar resultados de paginación


4. Actualizar modificar datos


5.Eliminar eliminar datos


6. Insertar resultados de consulta


7. Funciones agregadas


8. Consulta de grupo

Supongo que te gusta

Origin blog.csdn.net/qq_45113223/article/details/131331129
Recomendado
Clasificación