Комплексная манипуляция данными в MySQL

MySQLBeginner
Практиковаться сейчас

Введение

В этом проекте вы научитесь выполнять комплексные операции DML (язык манипуляции данными) с таблицей Employees (emp) в базе данных Employees. Вы научитесь вставлять новые записи, обновлять существующие записи и удалять записи из таблицы.

👀 Предварительный просмотр

Предварительный просмотр операций DML

🎯 Задачи

В этом проекте вы научитесь:

  • Как обращаться к MySQL с использованием команды sudo без пароля
  • Как импортировать данные из SQL-файла в базу данных MySQL
  • Как вставлять новые записи в таблицу emp с использованием одного SQL-оператора
  • Как обновить начальника сотрудника в таблице emp
  • Как обновить все записи в таблице emp с NULL значением comm, чтобы установить comm равным 0
  • Как удалить запись с самым большим номером сотрудника из таблицы emp
  • Как удалить всех сотрудников, которые непосредственно подчиняются определенному менеджеру в таблице emp

🏆 Достижения

После завершения этого проекта вы сможете:

  • Выполнять комплексные операции DML с таблицей базы данных MySQL
  • Разбираться, как использовать SQL-операторы для вставки, обновления и удаления данных
  • Получать опыт в управлении и манипуляции данными в реляционной базе данных
  • Развивать навыки решения задач, выполняя различные задачи в проекте

Подключиться к MySQL и импортировать данные

В этом шаге вы научитесь обращаться к MySQL с использованием команды sudo без пароля и импортировать данные из /home/labex/project/personnel.sql в базу данных personnel.

  1. Запустите службу MySQL:
sudo service mysql start
  1. Подключитесь к MySQL с использованием команды sudo:
sudo mysql
  1. Импортируйте данные из /home/labex/project/personnel.sql в базу данных personnel:
SOURCE /home/labex/project/personnel.sql;
  1. Переключитесь на базу данных personnel:
USE personnel;

Добавить новые записи

В этом шаге вы научитесь добавлять две новые записи в таблицу emp с использованием одного SQL-оператора.

Добавьте следующие две записи в таблицу emp:

INSERT INTO emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
VALUES (9878, 'JOHN', 'CLERK', 7499, '2022-01-05', 1800, 0, 10),
       (8868, 'JANE', 'CLERK', 7566, '2022-02-12', 2500, NULL, 20);

Обновить начальника сотрудника

В этом шаге вы научитесь изменить непосредственного начальника сотрудника SCOTT в таблице emp на непосредственного начальника сотрудника BLAKE.

UPDATE emp
SET mgr = (SELECT mgr
           FROM emp
           WHERE ename = 'BLAKE')
WHERE ename = 'SCOTT';

Обновить значения комиссионных выплат, равные NULL

В этом шаге вы научитесь обновлять все записи в таблице emp, у которых значение comm равно NULL, чтобы установить comm равным 0.

UPDATE emp
SET comm = 0
WHERE comm IS NULL;

Удалить запись с самым большим номером сотрудника

В этом шаге вы научитесь удалять запись с самым большим номером сотрудника из таблицы emp.

DELETE FROM emp
WHERE empno = (SELECT MAX(empno) FROM emp);

Удалить сотрудников, которые подчиняются BLAKE

В этом шаге вы научитесь удалять всех сотрудников, которые непосредственно подчиняются BLAKE в таблице emp.

DELETE FROM emp
WHERE mgr = (SELECT empno FROM emp WHERE ename = 'BLAKE');

После выполнения вышеописанных шагов вы можете проверить, получив следующие результаты:

MariaDB [personnel]> select * from emp;
+-------+--------+-----------+------+------------+---------+------+--------+
| empno | ename  | job       | mgr  | hiredate   | sal     | comm | deptno |
+-------+--------+-----------+------+------------+---------+------+--------+
|  7369 | SMITH  | CLERK     | 7902 | 1980-12-17 |  800.00 | 0.00 |     20 |
|  7566 | JONES  | MANAGER   | 7839 | 1981-04-02 | 2975.00 | 0.00 |     20 |
|  7698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 | 2850.00 | 0.00 |     30 |
|  7782 | CLARK  | MANAGER   | 7839 | 1981-06-09 | 2450.00 | 0.00 |     10 |
|  7788 | SCOTT  | ANALYST   | 7839 | 1987-06-13 | 3000.00 | 0.00 |     20 |
|  7839 | KING   | PRESIDENT | NULL | 1981-11-17 | 5000.00 | 0.00 |     10 |
|  7876 | ADAMS  | CLERK     | 7788 | 1987-06-13 | 1100.00 | 0.00 |     20 |
|  7902 | FORD   | ANALYST   | 7566 | 1981-12-03 | 3000.00 | 0.00 |     20 |
|  7934 | MILLER | CLERK     | 7782 | 1982-01-23 | 1300.00 | 0.00 |     10 |
|  8868 | JANE   | CLERK     | 7566 | 2022-02-12 | 2500.00 | 0.00 |     20 |
+-------+--------+-----------+------+------------+---------+------+--------+
10 rows in set (0.000 sec)

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.

✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться