강좌 데이터 검색을 위한 저장 프로시저 생성

SQLBeginner
지금 연습하기

소개

이 프로젝트에서는 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 로 데이터를 가져오는 방법을 배우게 됩니다.

  1. MySQL 서비스를 시작합니다:
sudo service mysql start
  1. sudo 명령을 사용하여 MySQL 에 접근합니다:
sudo mysql
  1. /home/labex/project/edusys.sql에서 MySQL 로 데이터를 가져와 edusys 데이터베이스로 전환합니다:
MariaDB [None]> SOURCE /home/labex/project/edusys.sql;

getCourses 저장 프로시저 생성

이 단계에서는 credits 필드 값이 3 보다 큰 course 테이블에서 강좌를 검색하는 getCourses라는 저장 프로시저를 생성합니다.

  1. getCourses.sql 파일을 엽니다.
  2. 다음 코드를 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 ;
  1. 파일을 저장하고 종료합니다.

getCourses 저장 프로시저 테스트

이 단계에서는 getCourses 저장 프로시저가 예상대로 작동하는지 확인하기 위해 테스트합니다.

  1. MySQL 에서 getCourses.sql 스크립트를 실행합니다:
MariaDB [edusys]> SOURCE /home/labex/project/getCourses.sql;
  1. 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 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.

✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습