소개
이 프로젝트에서는 MySQL 에 접근하고, 데이터를 가져오며, 내장 MySQL 함수를 사용하여 직원 정보를 쿼리하는 방법을 배우게 됩니다.
👀 미리보기
MariaDB [personnel]> SOURCE /home/labex/project/answer.sql;
+------------------------------------------+---------------+----------------+
| Name | Annual Income | Current User |
+------------------------------------------+---------------+----------------+
| bc70be7f38046e64dd779f276ce4a20f99153f26 | 800.000 | root@localhost |
| 6e1cae96112fe249dc0fb4f9a004c9dc04315608 | 1,900.000 | root@localhost |
| 7c7f32425fa076caeed971f5549c82ffa88fd0eb | 1,750.000 | root@localhost |
| a1787353201302d65c744486c1e940709fee0eff | 2,975.000 | root@localhost |
| f3b9b87a2f377c006e935f32dd25ea55ebf7f551 | 2,650.000 | root@localhost |
| 7cde55b3a6e9cf610db200b6b9cc9b5adca1657f | 2,850.000 | root@localhost |
| 4f90e103facadd0787d7a6828f096f6e66595a47 | 2,450.000 | root@localhost |
| 7634fdc80aa4027cfd5e966abc1b6b4b4ea19fbe | 3,000.000 | root@localhost |
| 50b8a339f82ab9ce6c55bf8ea10dad8513e9d142 | 5,000.000 | root@localhost |
| e043e3d3ebddafaa5ed97f7dcc4d236286f8ad4a | 1,500.000 | root@localhost |
| 2d2eb27e1db8836e44cd4e94f58b89728331e8de | 1,100.000 | root@localhost |
| 6afc44af3cbdbb6718e8da8715a1956b895dc5d2 | 950.000 | root@localhost |
| 7e5b07d8bbb5e0a55b5d428476d4691b3ee97b4a | 3,000.000 | root@localhost |
| 25d5ae3b0e0dac511ba94e337b88e0887538b31f | 1,300.000 | root@localhost |
+------------------------------------------+---------------+----------------+
14 rows in set (0.000 sec)
🎯 작업
이 프로젝트에서는 다음을 배우게 됩니다:
- 비밀번호 없이
sudo명령어를 사용하여 MySQL 에 접근하는 방법 - SQL 파일을 MySQL 데이터베이스로 가져오는 방법
emp테이블에서 직원의 이름과 연간 소득을 쿼리하는 방법- SHA 함수를 사용하여 직원 이름을 암호화하는 방법
- 연간 소득을 소수점 3 자리로 형식화하는 방법
- 현재 데이터베이스 계정 정보를 표시하는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- 명령줄을 사용하여 MySQL 데이터베이스에 자신 있게 접근하고 관리할 수 있습니다.
- 데이터 가져오기 및 기본적인 데이터 쿼리 작업을 수행할 수 있습니다.
- 내장 MySQL 함수를 적용하여 데이터를 조작하고 형식화할 수 있습니다.
- 데이터 보안 및 암호화의 중요성을 이해할 수 있습니다.
- MySQL 데이터베이스 및 SQL 쿼리를 사용하는 능력을 보여줄 수 있습니다.
MySQL 접속 및 데이터 가져오기
이 단계에서는 비밀번호 없이 sudo 명령어를 사용하여 MySQL 에 접근하고, /home/labex/project/personnel.sql에서 MySQL 로 데이터를 가져와 personnel 데이터베이스로 전환하는 방법을 배우게 됩니다.
- 터미널을 열고 다음 명령어를 사용하여 MySQL 서비스를 시작합니다:
sudo service mysql start
sudo명령어를 사용하여 MySQL 에 접근합니다:
sudo mysql
/home/labex/project/personnel.sql에서 MySQL 로 데이터를 가져와personnel데이터베이스로 전환합니다:
MariaDB [None]> SOURCE /home/labex/project/personnel.sql;
직원 이름 및 연간 소득 쿼리
이 단계에서는 emp 테이블의 모든 직원의 이름과 연간 소득을 쿼리하고, 현재 작업에 대한 데이터베이스 계정 정보를 표시하는 방법을 배우게 됩니다.
- 다음 코드를
answer.sql파일에 추가합니다.
SELECT SHA(emp.ename) AS 'Name',
FORMAT(IFNULL(emp.sal, 0) + IFNULL(emp.comm, 0), 3) AS 'Annual Income',
CURRENT_USER() AS 'Current User'
FROM emp;
이 코드의 기능은 다음과 같습니다:
SHA(emp.ename): SHA 함수를 사용하여 직원 이름을 암호화합니다.IFNULL(emp.sal, 0) + IFNULL(emp.comm, 0): 급여 (sal) 와 보너스 (comm) 열을 더하여 연간 소득을 계산하고, NULL 값을 0 으로 대체합니다.FORMAT(... , 3): 연간 소득을 소수점 3 자리로 형식화합니다.CURRENT_USER(): 현재 데이터베이스 계정 정보를 표시합니다.
answer.sql파일을 실행합니다.
SOURCE /home/labex/project/answer.sql;
쿼리는 다음 출력을 반환합니다:
+------------------------------------------+---------------+----------------+
| Name | Annual Income | Current User |
+------------------------------------------+---------------+----------------+
| bc70be7f38046e64dd779f276ce4a20f99153f26 | 800.000 | root@localhost |
| 6e1cae96112fe249dc0fb4f9a004c9dc04315608 | 1,900.000 | root@localhost |
| 7c7f32425fa076caeed971f5549c82ffa88fd0eb | 1,750.000 | root@localhost |
| a1787353201302d65c744486c1e940709fee0eff | 2,975.000 | root@localhost |
| f3b9b87a2f377c006e935f32dd25ea55ebf7f551 | 2,650.000 | root@localhost |
| 7cde55b3a6e9cf610db200b6b9cc9b5adca1657f | 2,850.000 | root@localhost |
| 4f90e103facadd0787d7a6828f096f6e66595a47 | 2,450.000 | root@localhost |
| 7634fdc80aa4027cfd5e966abc1b6b4b4ea19fbe | 3,000.000 | root@localhost |
| 50b8a339f82ab9ce6c55bf8ea10dad8513e9d142 | 5,000.000 | root@localhost |
| e043e3d3ebddafaa5ed97f7dcc4d236286f8ad4a | 1,500.000 | root@localhost |
| 2d2eb27e1db8836e44cd4e94f58b89728331e8de | 1,100.000 | root@localhost |
| 6afc44af3cbdbb6718e8da8715a1956b895dc5d2 | 950.000 | root@localhost |
| 7e5b07d8bbb5e0a55b5d428476d4691b3ee97b4a | 3,000.000 | root@localhost |
| 25d5ae3b0e0dac511ba94e337b88e0887538b31f | 1,300.000 | root@localhost |
+------------------------------------------+---------------+----------------+
14 rows in set (0.000 sec)
쿼리는 /home/labex/project/answer.sql 파일에 저장되었습니다.
요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.



