Notas de estudio de MYSQL-punch in 2

Notas de estudio de MYSQL-punch in 2

2.1 Conceptos básicos de MySQL (2) - Operaciones de tabla

# Contenido de aprendizaje #

  1. Tipo de datos de la tabla MySQL
  2. Crear tabla con declaración SQL
    Explicación de declaración
    Establecer tipo de columna, tamaño, restricción
    Establecer clave primaria
  3. Use sentencias SQL para agregar datos a la tabla
    Explicación de sentencias
    Varias formas de agregar (especifique los nombres de las columnas; no especifique los nombres de las columnas)
  4. Utilice la instrucción SQL para eliminar la tabla. La
    instrucción explica la diferencia entre las diferentes formas de
    DELETE
    DROP
    TRUNCATE
  5. Modificar la tabla con la instrucción SQL Modificar el
    nombre de la columna
    Modificar los datos en la tabla
    Eliminar fila
    Eliminar columna
    Nueva columna
    Nueva fila

Tema tres

Cree la tabla de cursos como se muestra a continuación, hay: estudiante (estudiante) y clase (curso).
Por ejemplo, tabla:
± -------- ± ----------- +
| estudiante | clase |
± -------- ± --------- - +
| A | Matemáticas |
| B | Inglés |
| C | Matemáticas |
| D | Biología |
| E | Matemáticas |
| F | Computadora |
| G | Matemáticas |
| H | Matemáticas |
| I | Matemáticas |
| A | Matemáticas |
± -------- ± ----------- +

Escriba una consulta SQL para enumerar todas las clases con más de o igual a 5 estudiantes.
Debería generar:
± -------- +
| clase |
± -------- +
| Matemáticas |
± -------- +
Nota:
Los estudiantes no deben Cálculo repetido.

-Crear mesa

CREATE TABLE courses
(student VARCHAR(255) NOT NULL,
 class VARCHAR(255) NOT NULL);

-Insertar datos

INSERT INTO courses VALUES ('A', 'Math');
INSERT INTO courses VALUES ('B', 'English');
INSERT INTO courses VALUES ('C', 'Biology');
INSERT INTO courses VALUES ('D', 'Math');
INSERT INTO courses VALUES ('E', 'Math');
INSERT INTO courses VALUES ('F', 'Computer');
INSERT INTO courses VALUES ('G', 'Math');
INSERT INTO courses VALUES ('H', 'Math');
INSERT INTO courses VALUES ('I', 'Math');
INSERT INTO courses VALUES ('A', 'Math');

-Código (escriba una consulta SQL para enumerar todas las clases con más o igual a 5 estudiantes)

SELECT class FROM courses
GROUP BY class
HAVING COUNT(DISTINCT student) >= 5;

-resultado
Inserte la descripción de la imagen aquí

Proyecto 4: Cambio de salario (dificultad: fácil)

Cree una tabla de sueldos, como se muestra a continuación, con valores de m = hombre yf = mujer.
P.ej:

carné de identidad nombre sexo salario
1 UNA metro 2500
2 si F 1500
3 C metro 5500
4 re F 500

Intercambie todos los valores de f y m (por ejemplo, cambie todos los valores de f por my viceversa). Se requiere una consulta de actualización y no hay una tabla temporal intermedia.
Después de ejecutar la declaración de consulta que ha escrito, obtendrá la siguiente tabla:

carné de identidad nombre sexo salario
1 UNA F 2500
2 si metro 1500
3 C F 5500
4 re metro 500

-Crear mesa

CREATE TABLE salary
 (id INT PRIMARY KEY NOT NULL,
NAME VARCHAR ( 10 ) NOT NULL,
sex VARCHAR ( 10 ) NOT NULL,
salary INT NOT NULL
);

-Insertar datos

INSERT INTO salary
VALUES
	( 1, "A", "m", 2500 ),
	( 2, "B", "f", 1500 ),
	( 3, "C", "m", 5500 ),
	( 4, "D", "f", 500 );

--Código (actualizar datos)

UPDATE salary 
SET sex =
CASE
		sex 
	WHEN 'm' THEN
	'f' ELSE 'm' END;

-resultado
Inserte la descripción de la imagen aquí

2.2 Conceptos básicos de MySQL (3) - Unión de tabla

#Learning content #
MySQL alias
INNER JOIN
LEFT JOIN
CROSS JOIN
self-connection
UNION
La diferencia y la conexión de los métodos anteriores

Elemento 5: Combina dos tablas (dificultad: fácil)

Cree la Tabla 1 y la Tabla 2 en la base de datos e inserte tres filas de datos (hechas por usted mismo)
Tabla 1: Persona
± ------------ ± -------- +
| Nombre de columna | Tipo |
± ------------ ± -------- +
| PersonId | int |
| Nombre | varchar |
| Apellido | varchar |
± -------- ---- ± -------- +
PersonId es la clave principal de la tabla anterior

Tabla 2: Dirección
± ------------ ± -------- +
| Nombre de columna | Tipo |
± ------------ ± --- ----- + t
| AddressId | int |
| PersonId | int |
| Ciudad | varchar |
| Estado | varchar |
± ------------ ± -------- +
AddressId es la clave principal de la tabla anterior

Escriba una consulta SQL para cumplir con las condiciones: Independientemente de si la persona tiene información de la dirección, la siguiente información de la persona debe proporcionarse según las dos tablas anteriores: Nombre, Apellido, Ciudad, Estado

-Crear mesa (persona)

CREATE TABLE person(PersonId INT,
        FirstName VARCHAR(10),
        LastName VARCHAR(10));

-Crear tabla (dirección)

CREATE TABLE address(AddressId INT,
        PersionId INT,
        City VARCHAR(255),
        State VARCHAR(255));

-Insertar datos (persona y dirección)

INSERT INTO person VALUES (1,'kobe','bryant'),
            (2,'lebron','james'),
            (3,'chris','paul');
INSERT INTO address VALUES(001,1,'Los Angeles','california'),
            (002,2,'Cleveland Cavaliers','Ohio'),
            (003,2,'Houston','Texas');

- Código (Independientemente de si la persona tiene información de dirección o no, la siguiente información de la persona debe proporcionarse según las dos tablas anteriores: Nombre, Apellido, Ciudad, Estado)

SELECT FirstName, LastName, City, State FROM 
        person LEFT JOIN address ON person.PersonId=address.PersionId; 

Proyecto 6: Eliminar buzones de correo duplicados (dificultad: fácil)

Escriba una consulta SQL para eliminar todas las direcciones de correo electrónico duplicadas en la tabla de correo electrónico y solo mantenga la que tiene la identificación más pequeña en los buzones de correo duplicados.
± - ± -------- +
| Id | Correo electrónico |
± - ± -------- +
| 1 | [email protected] |
| 2 | [email protected] |
| 3 | [email protected] |
± - ± -------- +
Id es la clave principal de esta tabla.
Por ejemplo, después de ejecutar su consulta, la tabla de Personas anterior debe devolver las siguientes filas:
± - ± ----------------- +
| Id | Correo electrónico |
± - ± - ---------------- +
| 1 | [email protected] |
| 2 | [email protected] |
± - ± ------------ ----- +

-Crear mesa

CREATE TABLE email 
( id INT PRIMARY KEY, Email VARCHAR ( 255 ) );

-Insertar datos

INSERT INTO email ( id, Email )
VALUES( 1, '[email protected]' ),
	    ( 2, '[email protected]' ),
	    ( 3, '[email protected]' );

-Código (escriba una consulta SQL para eliminar todas las direcciones de correo electrónico duplicadas en la tabla de correo electrónico y solo mantenga la que tiene la identificación más pequeña en los buzones de correo duplicados)

DELETE FROM email 
WHERE id NOT IN 
( SELECT a.min_id FROM ( SELECT MIN( id ) AS min_id FROM email GROUP BY Email ) a );

-resultado
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/Baby1601tree/article/details/88993115
Recomendado
Clasificación