강좌 시간표 뷰 데이터 삭제

MySQLBeginner
지금 연습하기

소개

이 프로젝트에서는 teaches 테이블을 기반으로 뷰를 생성하고, 해당 뷰에서 관련 데이터를 삭제하는 방법을 배우게 됩니다.

👀 미리보기

MySQL [edusys]> SELECT * FROM teaches_view;
+-------+----------+----------+------+
| id    | courseId | semester | year |
+-------+----------+----------+------+
| 76766 | BIO-101  | Summer   | 2017 |
| 10101 | CS-101   | Fall     | 2017 |
| 83821 | CS-190   | Spring   | 2017 |
| 83821 | CS-190   | Spring   | 2017 |
| 10101 | CS-347   | Fall     | 2017 |
| 98345 | EE-181   | Spring   | 2017 |
| 22222 | PHY-101  | Fall     | 2017 |
+-------+----------+----------+------+
7 rows in set (0.000 sec)

🎯 과제

이 프로젝트에서는 다음을 배우게 됩니다:

  • teaches 테이블에서 특정 필드를 사용하여 뷰를 생성하는 방법
  • 특정 조건을 기반으로 생성된 뷰에서 데이터를 삭제하는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다:

  • 뷰의 개념과 뷰를 생성하는 방법을 이해합니다.
  • 특정 조건에 일치하는 레코드를 삭제하여 뷰의 데이터를 조작합니다.
  • 이러한 기술을 적용하여 데이터베이스에서 데이터를 보다 효율적으로 관리합니다.

뷰 생성

이 단계에서는 teaches 테이블을 기반으로 뷰를 생성하는 방법을 배우게 됩니다. 이 단계를 완료하려면 아래 단계를 따르세요:

  1. 터미널을 열고 MySQL 서비스를 시작합니다:

    sudo /etc/init.d/mysql start
    
  2. MySQL 터미널에 로그인합니다.

    mysql -uroot
    
  3. edusys.sql 데이터를 MySQL 데이터베이스로 가져옵니다.

    SOURCE ~/project/edusys.sql;
    
  4. ~/project 디렉토리에 teachesDump.sql이라는 새 파일을 생성합니다.

  5. 다음 필드를 포함하는 teaches_view라는 뷰를 생성하는 코드를 파일에 추가합니다:

    teaches teaches_view
    ID id
    course_id courseId
    semester semester
    year year

    코드는 다음과 같아야 합니다:

    CREATE VIEW teaches_view AS
    SELECT ID AS id, course_id AS courseId, semester, year
    FROM teaches;
    

뷰 데이터 삭제

이 단계에서는 year가 2018 인 teaches_view 뷰에서 데이터를 삭제하는 방법을 배우게 됩니다. 이 단계를 완료하려면 아래 단계를 따르세요:

  1. teachesDump.sql 파일을 열고 year가 2018 인 teaches_view 뷰에서 데이터를 삭제하는 코드를 파일에 추가합니다.

    DELETE FROM teaches_view
    WHERE year = 2018;
    
  2. 최종 코드는 다음과 같습니다:

    CREATE VIEW teaches_view AS
    SELECT ID AS id, course_id AS courseId, semester, year
    FROM teaches;
    
    DELETE FROM teaches_view
    WHERE year = 2018;
    

이제 뷰를 생성하고 뷰에서 관련 데이터를 삭제하는 프로젝트를 완료했습니다. MySQL 터미널에서 teachesDump.sql 스크립트를 실행하여 SQL 문을 실행할 수 있습니다.

SOURCE ~/project/teachesDump.sql;

SQL 문을 실행한 후, 다음과 같이 teaches_view 뷰의 데이터를 볼 수 있습니다:

MySQL [edusys]> SELECT * FROM teaches_view;
+-------+----------+----------+------+
| id    | courseId | semester | year |
+-------+----------+----------+------+
| 76766 | BIO-101  | Summer   | 2017 |
| 10101 | CS-101   | Fall     | 2017 |
| 83821 | CS-190   | Spring   | 2017 |
| 83821 | CS-190   | Spring   | 2017 |
| 10101 | CS-347   | Fall     | 2017 |
| 98345 | EE-181   | Spring   | 2017 |
| 22222 | PHY-101  | Fall     | 2017 |
+-------+----------+----------+------+
7 rows in set (0.000 sec)

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.

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