소개
이 프로젝트에서는 Employees 데이터베이스의 Employees 테이블 (emp) 에 대한 포괄적인 DML (Data Manipulation Language, 데이터 조작 언어) 작업을 수행하는 방법을 배우게 됩니다. 새로운 레코드를 삽입하고, 기존 레코드를 업데이트하며, 테이블에서 레코드를 삭제하는 방법을 배우게 됩니다.
👀 미리보기

🎯 과제
이 프로젝트에서는 다음을 배우게 됩니다:
- 비밀번호 없이
sudo명령을 사용하여 MySQL 에 접근하는 방법 - SQL 파일을 MySQL 데이터베이스로 가져오는 방법
- 단일 SQL 문을 사용하여
emp테이블에 새로운 레코드를 삽입하는 방법 emp테이블에서 직원의 상사를 업데이트하는 방법- NULL
comm값을 가진emp테이블의 모든 레코드를 업데이트하여comm을 0 으로 설정하는 방법 emp테이블에서 가장 높은 사원 번호를 가진 레코드를 삭제하는 방법- 특정 관리자에게 직접 보고하는 모든 직원을
emp테이블에서 삭제하는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- MySQL 데이터베이스 테이블에서 포괄적인 DML 작업을 수행할 수 있습니다.
- SQL 문을 사용하여 데이터를 삽입, 업데이트 및 삭제하는 방법을 이해할 수 있습니다.
- 관계형 데이터베이스에서 데이터를 관리하고 조작하는 경험을 얻을 수 있습니다.
- 프로젝트의 다양한 과제를 완료하여 문제 해결 능력을 개발할 수 있습니다.
MySQL 접속 및 데이터 임포트
이 단계에서는 비밀번호 없이 sudo 명령을 사용하여 MySQL 에 접근하고, /home/labex/project/personnel.sql에서 personnel 데이터베이스로 데이터를 가져오는 방법을 배우게 됩니다.
- MySQL 서비스를 시작합니다:
sudo service mysql start
sudo명령을 사용하여 MySQL 에 접근합니다:
sudo mysql
/home/labex/project/personnel.sql에서personnel데이터베이스로 데이터를 가져옵니다:
SOURCE /home/labex/project/personnel.sql;
personnel데이터베이스로 전환합니다:
USE personnel;
새로운 레코드 삽입
이 단계에서는 단일 SQL 문을 사용하여 emp 테이블에 두 개의 새로운 레코드를 추가하는 방법을 배우게 됩니다.
다음 두 개의 레코드를 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);
직원 관리자 정보 업데이트
이 단계에서는 emp 테이블에서 직원 SCOTT 의 직속 상사를 직원 BLAKE 의 직속 상사로 변경하는 방법을 배우게 됩니다.
UPDATE emp
SET mgr = (SELECT mgr
FROM emp
WHERE ename = 'BLAKE')
WHERE ename = 'SCOTT';
NULL 커미션 값 업데이트
이 단계에서는 comm 값이 NULL인 emp 테이블의 모든 항목을 업데이트하여 comm을 0 으로 설정하는 방법을 배우게 됩니다.
UPDATE emp
SET comm = 0
WHERE comm IS NULL;
최고 사원 번호 삭제
이 단계에서는 emp 테이블에서 가장 높은 사원 번호를 가진 항목을 제거하는 방법을 배우게 됩니다.
DELETE FROM emp
WHERE empno = (SELECT MAX(empno) FROM emp);
BLAKE 에게 보고하는 직원 삭제
이 단계에서는 emp 테이블에서 BLAKE 에게 직접 보고하는 모든 직원을 삭제하는 방법을 배우게 됩니다.
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 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.



