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

🎯 Задачи
В этом проекте вы научитесь:
- Как обращаться к 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.
- Запустите службу MySQL:
sudo service mysql start
- Подключитесь к MySQL с использованием команды
sudo:
sudo mysql
- Импортируйте данные из
/home/labex/project/personnel.sqlв базу данныхpersonnel:
SOURCE /home/labex/project/personnel.sql;
- Переключитесь на базу данных
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, чтобы улучшить свои навыки.



