소개
이 프로젝트에서는 커서를 사용하여 학기가 봄인 section 테이블에서 강좌 정보를 출력하는 방법을 배우게 됩니다. 강좌 세부 정보를 검색하는 저장 프로시저를 생성한 다음, 프로시저를 실행하여 결과를 표시합니다.
🎯 과제
이 프로젝트에서 다음을 배우게 됩니다:
- MySQL 서버를 시작하고 데이터베이스를 임포트하는 방법
- 커서를 사용하여 저장 프로시저를 생성하는 방법
- 저장 프로시저를 실행하여 데이터베이스에서 데이터를 검색하는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- 커서를 사용하여 데이터베이스에서 데이터를 검색하는 방법을 이해합니다.
- 데이터베이스 작업을 캡슐화하는 저장 프로시저를 생성합니다.
- 저장 프로시저를 실행하여 원하는 데이터를 표시합니다.
MySQL 시작 및 데이터베이스 가져오기
이 단계에서는 MySQL 서버를 시작하고 edusys.sql 데이터베이스를 MySQL 로 임포트하는 방법을 배우게 됩니다.
MySQL 서버 시작:
sudo /etc/init.d/mysql startMySQL 터미널에 로그인:
mysql -urootedusys.sql데이터베이스 임포트:SOURCE ~/project/edusys.sql
저장 프로시저 생성
이 단계에서는 학기가 봄인 section 테이블에서 강좌 정보를 검색하는 저장 프로시저를 생성하는 방법을 배우게 됩니다.
/home/labex/project디렉토리에getSection.sql이라는 새 파일을 생성합니다.getSection.sql파일에서 구분 기호 (delimiter) 를//로 정의합니다:DELIMITER //getSectionProcude()저장 프로시저를 생성합니다:CREATE PROCEDURE getSectionProcude() BEGIN SELECT course_id, year, room_number FROM section WHERE semester = 'Spring'; END //구분 기호를 기본값으로 다시 설정합니다:
DELIMITER ;
저장 프로시저 실행
이 단계에서는 getSectionProcude() 저장 프로시저를 실행하여 강좌 정보를 검색하는 방법을 배우게 됩니다.
MySQL 프롬프트에서 다음 명령을 실행하여 subquery.sql 스크립트를 실행합니다:
SOURCE ~/project/getSection.sql저장 프로시저를 실행합니다:
CALL getSectionProcude();이렇게 하면 학기가 봄인 강좌 정보가 출력됩니다.
MariaDB [edusys]> CALL getSectionProcude(); +-----------+------+-------------+ | course_id | year | room_number | +-----------+------+-------------+ | CS-101 | 2018 | 101 | | FIN-201 | 2018 | 101 | | MU-199 | 2018 | 101 | | HIS-351 | 2018 | 514 | | CS-190 | 2017 | 3128 | | CS-190 | 2017 | 3128 | | CS-319 | 2018 | 3128 | | EE-181 | 2017 | 3128 | | CS-319 | 2018 | 100 | | CS-315 | 2018 | 120 | +-----------+------+-------------+ 10 rows in set (0.001 sec)
요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.
