소개
이 프로젝트에서는 MySQL 에서 신용이 3 이상인 강좌를 검색하는 저장 프로시저를 만드는 방법을 배우게 됩니다. 이 프로젝트는 데이터베이스 관리 시스템에서 저장 프로시저를 사용하는 기본 사항을 이해하는 데 도움이 될 것입니다.
👀 미리보기
MariaDB [edusys]> CALL getCourses();
+-----------+----------------------------+------------+---------+
| course_id | title | dept_name | credits |
+-----------+----------------------------+------------+---------+
| BIO-101 | Intro. to Biology | Biology | 4 |
| BIO-301 | Genetics | Biology | 4 |
| CS-101 | Intro. to Computer Science | Comp. Sci. | 4 |
| CS-190 | Game Design | Comp. Sci. | 4 |
| PHY-101 | Physical Principles | Physics | 4 |
+-----------+----------------------------+------------+---------+
5 rows in set (0.000 sec)
🎯 과제
이 프로젝트에서는 다음을 배우게 됩니다:
- 비밀번호 없이
sudo명령을 사용하여 MySQL 에 접근하는 방법 - MySQL 데이터베이스로 데이터를 가져오는 방법
- 테이블에서 특정 데이터를 검색하는 저장 프로시저를 만드는 방법
- 저장 프로시저가 예상대로 작동하는지 확인하기 위해 테스트하는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- 데이터베이스에서 저장 프로시저를 사용하는 목적과 이점을 이해합니다.
- 특정 데이터 검색 작업을 수행하기 위해 자신만의 저장 프로시저를 만듭니다.
- 저장 프로시저가 올바르게 작동하는지 확인하기 위해 문제 해결 및 테스트를 수행합니다.
- 이 프로젝트에서 얻은 지식을 활용하여 더 복잡한 데이터베이스 기반 애플리케이션을 구축합니다.
MySQL 접속 및 데이터베이스 임포트
이 단계에서는 비밀번호 없이 sudo 명령을 사용하여 MySQL 에 접근하고 /home/labex/project/edusys.sql에서 MySQL 로 데이터를 가져오는 방법을 배우게 됩니다.
- MySQL 서비스를 시작합니다:
sudo service mysql start
sudo명령을 사용하여 MySQL 에 접근합니다:
sudo mysql
/home/labex/project/edusys.sql에서 MySQL 로 데이터를 가져와edusys데이터베이스로 전환합니다:
MariaDB [None]> SOURCE /home/labex/project/edusys.sql;
getCourses 저장 프로시저 생성
이 단계에서는 credits 필드 값이 3 보다 큰 course 테이블에서 강좌를 검색하는 getCourses라는 저장 프로시저를 생성합니다.
getCourses.sql파일을 엽니다.- 다음 코드를
getCourses.sql파일에 추가합니다:
-- Creating the getCourses stored procedure
DELIMITER //
CREATE PROCEDURE getCourses()
BEGIN
-- Retrieve courses from the course table where the credits field is greater than 3
SELECT course_id, title, dept_name, credits
FROM course
WHERE credits > 3;
END //
DELIMITER ;
- 파일을 저장하고 종료합니다.
getCourses 저장 프로시저 테스트
이 단계에서는 getCourses 저장 프로시저가 예상대로 작동하는지 확인하기 위해 테스트합니다.
- MySQL 에서
getCourses.sql스크립트를 실행합니다:
MariaDB [edusys]> SOURCE /home/labex/project/getCourses.sql;
getCourses저장 프로시저를 호출합니다:
MariaDB [edusys]> CALL getCourses();
+-----------+----------------------------+------------+---------+
| course_id | title | dept_name | credits |
+-----------+----------------------------+------------+---------+
| BIO-101 | Intro. to Biology | Biology | 4 |
| BIO-301 | Genetics | Biology | 4 |
| CS-101 | Intro. to Computer Science | Comp. Sci. | 4 |
| CS-190 | Game Design | Comp. Sci. | 4 |
| PHY-101 | Physical Principles | Physics | 4 |
+-----------+----------------------------+------------+---------+
5 rows in set (0.000 sec)
출력 결과는 getCourses 저장 프로시저가 예상대로 작동하여, 크레딧이 3 보다 큰 모든 강좌를 검색함을 보여줍니다.
요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.
