데이터베이스 뷰 생성 및 업데이트

MySQLBeginner
지금 연습하기

소개

이 프로젝트에서는 MySQL 데이터베이스에서 학생 뷰를 생성하고 뷰의 데이터를 업데이트하는 방법을 배우게 됩니다.

👀 미리보기

MySQL [edusys]> SELECT * FROM student WHERE ID = '70557';
+-------+---------+------+
| id    | name    | cred |
+-------+---------+------+
| 70557 | History |    0 |
+-------+---------+------+
1 row in set (0.001 sec)

🎯 과제

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

  • 기존 테이블을 기반으로 뷰를 생성하는 방법
  • 뷰의 데이터를 업데이트하는 방법

🏆 성과

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

  • 데이터베이스 뷰의 개념과 뷰를 생성하는 방법을 이해합니다.
  • SQL 업데이트 문을 사용하여 뷰의 데이터를 수정합니다.
  • 이러한 기술을 적용하여 데이터베이스에서 데이터를 관리하고 유지 관리합니다.

학생 뷰 생성

이 단계에서는 student 테이블을 기반으로 학생 뷰를 생성하는 방법을 배우게 됩니다.

  1. MySQL 시작:

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

    mysql -uroot
  3. edusys.sql 스크립트에서 데이터를 MySQL 로 가져오기:

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

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

    student student_view
    ID id
    name name
    tot_cred cred

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

    USE edusys
    CREATE VIEW IF NOT EXISTS student_view AS
    SELECT ID AS id, name AS name, tot_cred AS cred
    FROM student;

    이 코드는 student 테이블에서 ID, name, tot_cred 열을 선택하고 각각 id, name, cred로 이름을 변경하는 student_view라는 뷰를 생성합니다.

✨ 솔루션 확인 및 연습

학생 뷰 업데이트

이 단계에서는 student_view 뷰의 데이터를 업데이트하는 방법을 배우게 됩니다.

  1. updateView.sql 파일을 열고 student_view 뷰에서 id'70557'인 항목의 name 필드를 값 'History'로 업데이트하는 코드를 파일에 추가합니다:

    UPDATE student_view
    SET name = 'History'
    WHERE id = '70557';

    이 코드는 id'70557'student_view 뷰의 행에 대해 name 필드를 'History'로 업데이트합니다.

  2. 최종 코드는 다음과 같습니다:

    USE edusys
    -- Create a student_view table with the corresponding fields as shown in the table
    CREATE VIEW IF NOT EXISTS student_view AS
    SELECT ID AS id, name AS name, tot_cred AS cred
    FROM student;
    
    -- Update the name field with the value History for the entry with id 70557 in the student_view view
    UPDATE student_view
    SET name = 'History'
    WHERE id = '70557';
  3. MySQL 터미널에서 SQL 스크립트를 실행합니다.

    SOURCE ~/project/updateView.sql
  4. ID'70557'student 테이블에서 데이터를 선택하여 업데이트를 확인합니다:

    SELECT * FROM student WHERE ID = '70557';

    출력 결과는 업데이트된 name 필드를 표시해야 합니다:

    +-------+---------+------+
    | id    | name    | cred |
    +-------+---------+------+
    | 70557 | History |    0 |
    +-------+---------+------+
    1 row in set (0.001 sec)

축하합니다! 학생 뷰를 성공적으로 생성하고 뷰의 데이터를 업데이트했습니다.

✨ 솔루션 확인 및 연습

요약

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