일반 함수 종합

MySQLBeginner
지금 연습하기

소개

이 프로젝트에서는 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 데이터베이스로 전환하는 방법을 배우게 됩니다.

  1. 터미널을 열고 다음 명령어를 사용하여 MySQL 서비스를 시작합니다:
sudo service mysql start
  1. sudo 명령어를 사용하여 MySQL 에 접근합니다:
sudo mysql
  1. /home/labex/project/personnel.sql에서 MySQL 로 데이터를 가져와 personnel 데이터베이스로 전환합니다:
MariaDB [None]> SOURCE /home/labex/project/personnel.sql;
✨ 솔루션 확인 및 연습

직원 이름 및 연간 소득 쿼리

이 단계에서는 emp 테이블의 모든 직원의 이름과 연간 소득을 쿼리하고, 현재 작업에 대한 데이터베이스 계정 정보를 표시하는 방법을 배우게 됩니다.

  1. 다음 코드를 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(): 현재 데이터베이스 계정 정보를 표시합니다.
  1. 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 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.