Base de datos avanzada y JDBC

Fila a columna

Tener id, nombre, curso, puntuación
crear tabla test_9 (
id int,
nombre varchar (22),
curso varchar (22),
puntuación decimal (18,2)
);
insertar en test_9 (id, nombre, curso, puntuación) valores ( 1, '小王', 'java', 99);
insertar en test_9 (id, nombre, curso, puntaje) valores (2, '小张', 'java', 89.2);
insertar en test_9 (id, nombre, curso, puntuación) valores (3, '
小李', 'java', 88); insertar en test_9 (id, nombre, curso, puntuación) valores (4, '小王', 'MySQL', 92.2);
insertar en test_9 (id, nombre, curso, puntuación) valores (5, '小张', 'MySQL', 42.2);
insertar en test_9 (id, nombre, curso, puntuación) valores (6, '小李', 'MySQL' , 59,2);

Utilice la siguiente declaración SQL (agrupar por y mayúsculas y minúsculas cuando se puede usar en combinación):
seleccione el nombre, max (
caso de curso
cuando 'java' y luego puntúe al
final) Java, max (
caso de curso cuando
' MySQL ' luego puntúe al
final) MySQL
de test_9
agrupar por nombre;

Función relacionada
concat (valor, 'símbolo de empalme', valor): empalme, varias filas de datos solo serán empalmadas por una línea
group_concat (valor, 'símbolo de empalme', valor): empalme, aplastando múltiples líneas en una línea

Análisis de pensamiento: el
primer paso: dividir el problema, primero de acuerdo con la idea de agrupar

seleccione el nombre, 1 como "puntuación de cada sujeto" del grupo test_9 por nombre;

Paso 2: Une el nombre del curso y las calificaciones en una columna,
seleccione el nombre,
concat (curso, '=', puntaje) como 'calificaciones de
cada asignatura' del grupo test_9 por nombre;

Paso 3: Utilice la función group_concat para comprimir varias líneas en una línea,
seleccione el nombre,
group_concat (curso, '=', puntuación) como 'puntuación de
cada sujeto' del grupo test_9 por nombre;

Paso 4: Modifique el separador (coma por defecto)
seleccione nombre,
group_concat (curso, '=', separador de puntaje '|') como '
Puntaje de cada materia' del grupo test_9 por nombre;

Paso 5: Ordenar por nombre de curso
seleccionar nombre,
group_concat (curso, '=', puntuación ordenar por curso asc separador '|')
como 'puntuación de cada materia' del grupo test_9 por nombre;

Producto cartesiano El producto
cartesiano es una operación que consume mucha memoria. La nueva tabla generada por el producto cartesiano tiene el número de filas como el producto de los números de fila de las dos tablas originales, y el número de columnas es la suma de la columna. números de las dos tablas originales.

Cuando la
base de datos de unión interna devuelve registros al conectar dos o más tablas, generará una tabla temporal intermedia y luego devolverá esta tabla temporal al usuario.
Cuando se utiliza la consulta de conexión de unión, la diferencia entre las condiciones on y where es la siguiente:
1. La condición on es una condición que se utiliza al generar una tabla temporal y debe utilizarse junto con una consulta de enlace.
2. La condición where es una condición para filtrar la tabla temporal después de que se genera la tabla temporal. En este momento, no hay ningún significado de combinación (debe devolver los registros de la tabla de la izquierda), y las condiciones no son verdaderas y todas se filtran.

Consulta de enlace, se producirá un producto cartesiano, pero no es un producto cartesiano completo.
Los datos de resultado se basan en los datos de la tabla de la izquierda, primero genere los datos en la tabla de la izquierda y luego genere los datos en la tabla de la derecha

En la conexión, entonces, quedará a la izquierda de la tabla como referencia (alumno), al generar una nueva vista, el Sr. Cheng a la izquierda de la tabla de datos, para luego ir a emparejar si se cumple con las condiciones del lado derecho de la tabla, si no, no genere esta línea
izquierda Algunos datos de la tabla y los datos que no están en la
tabla de la derecha no se generarán en la tabla de la derecha, y los datos de la tabla de la izquierda no se generarán, por lo que incluso si el La posición de la tabla de la izquierda y la tabla de la derecha cambia, el número de filas de datos no cambiará. Demasiado,
pero se perderán datos y los datos que no cumplan con las condiciones no serán consultados.

nner join también puede escribir join directamente sin inner

unión izquierda unión
izquierda en: unión izquierda, también conocida como enlace externo izquierdo, es la abreviatura de unión externa izquierda, usar unión izquierda y unión externa izquierda tiene el mismo efecto
unión
derecha unión derecha en: enlace derecho, también conocido como unión externa derecha, sí Abreviatura de combinación externa derecha, usar la combinación derecha es lo mismo que usar la combinación externa derecha

Si se toma la tabla de la derecha como punto de referencia, los datos de la tabla de la derecha están todos ahí y la tabla de la izquierda no cumple las condiciones. Se reemplaza por un valor nulo en la columna especificada.
Sin embargo, cuando se genera la vista, los datos de la La tabla de la izquierda se generará primero Como
se puede ver en lo anterior, estudiante El contenido mostrado por el maestro de unión derecha es el mismo que el del estudiante de unión izquierda del maestro. El contenido que muestra el profesor a la derecha del alumno es el mismo que el del alumno a la izquierda del profesor.

unión completa / unión externa completa, pero MySQL se cancela aquí, por ejemplo, Oracle tiene
la función de simular una unión completa

使用 unión 获取 并 集
seleccionar * de la
izquierda del estudiante unirse al profesor t en s.teacher_id = t.id
unión
seleccionar * de la
derecha del estudiante unirse al profesor t en s.teacher_id = t.id;

Utilice Navicat para importar y exportar datos. Es
la forma más fácil
de utilizar Navicat. Haga clic con el botón derecho en la tabla o la base de datos que desee exportar y
descargue el archivo SQL. La
estructura es solo la creación de la declaración de la tabla o la base de datos. No hay datos La
estructura y los datos son la declaración de creación y los datos.

Usar la importación y exportación de datos de CMD
Abra la consola de CMD e ingrese el directorio bin en la ruta de instalación de MySQL
mysqldump -u nombre de usuario -p contraseña La base de datos a exportar> d: \ tianliang.sql (guardar ubicación del archivo exportado)
-u usuario El nombre-p contraseña de la base de datos a respaldar,> es donde se guarda el archivo, <es donde se
importa el archivo , ejecute el comando mysqldump -uroot -proot 06 > d: \ tianliang.sql

Importe
o ingrese en el directorio bin
mysql -u nombre de usuario -p contraseña para importar en qué base de datos <d: \ tianliang.sql (ruta del archivo a importar)
-u nombre de usuario -p contraseña La base de datos que necesita ser importada necesita ser importada El archivo sql se
ejecuta Comando mysql -uroot -proot 06 <d: \ tianliang.sql

Importar usando java

JDBC: Java DataBase Connectivity (enlace de la base de datos de Java)
es la API que permite que Java se
conecte a la API de la base de datos : Programación de aplicaciones Intergace (interfaz de programación de aplicaciones)
es la biblioteca de funciones

Pasos para usar JDBC Paso
0: Importe el paquete
Paso 1: Registre el controlador (solo una vez)
Paso 2: Establezca una conexión (Conexión)
Paso 3: Cree una declaración para ejecutar SQL (Declaración)
Paso 4: Ejecute la declaración
Paso 5: Procesar el resultado de ejecución (ResultSet)
Paso 6: Liberar recursos


Lenguaje de manipulación de datos DML : Lenguaje de manipulación de datos
Las palabras clave involucradas son: eliminar, actualizar, insertar

Al
agregar o actualizar PreparedStatement , intente usar PreparedStatement en lugar de usar
la diferencia entre Statement Statement y PreparedStatement

La sentencia se utiliza para ejecutar sentencias de SQL estático. Al ejecutar, debe especificar una sentencia de SQL preparada previamente, es relativamente insegura y existe el riesgo de inyección de SQL

PreparedStatement es un objeto de declaración SQL precompilado. La declaración SQL está precompilada y almacenada en el objeto. La declaración SQL encapsulada puede utilizar parámetros incluidos dinámicamente.

DQL
usa PreparedStatement para ejecutar consultas

Operación por lotes de múltiples sentencias
En una tarea, ejecute varios datos

Supongo que te gusta

Origin blog.csdn.net/MIRACLE_Ying/article/details/114003571
Recomendado
Clasificación