MySQL 에서 데이터베이스 뷰 생성하기

MySQLBeginner
지금 연습하기

소개

이 프로젝트에서는 edusys 데이터베이스의 student 테이블을 기반으로 데이터베이스 뷰를 생성하는 방법을 배우게 됩니다. 이 뷰는 student 테이블의 ID, name, 그리고 dept_name 열을 포함하여 학생 데이터에 대한 단순화되고 집중된 뷰를 제공합니다.

👀 미리보기

MySQL [edusys]> DESC student_view;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| ID         | int(11)     | NO   |     | NULL    |       |
| name       | varchar(20) | NO   |     | NULL    |       |
| dept_name  | varchar(20) | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+
3 rows in set (0.002 sec)

🎯 과제

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

  • MySQL 서버를 시작하고 MySQL 터미널에 로그인하는 방법
  • SQL 스크립트에서 MySQL 데이터베이스로 데이터를 가져오는 방법
  • CREATE VIEW 문을 사용하여 데이터베이스 뷰를 생성하는 방법
  • DESC 문을 사용하여 생성된 뷰의 구조를 확인하는 방법

🏆 성과

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

  • MySQL 데이터베이스 환경 설정 프로세스 이해
  • 데이터 접근 및 표현을 단순화하기 위해 사용자 정의 데이터베이스 뷰 생성
  • SQL 문을 적용하여 데이터베이스 객체를 관리하고 조작

MySQL 시작 및 데이터 가져오기

이 단계에서는 MySQL 서버를 시작하고 edusys.sql 스크립트에서 MySQL 데이터베이스로 데이터를 가져오는 방법을 배우게 됩니다.

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

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

    mysql -uroot
    
  3. edusys.sql 스크립트에서 데이터를 가져옵니다:

    SOURCE ~/project/edusys.sql
    

student_view 뷰 생성

이 단계에서는 student 테이블의 ID, name, 그리고 dept_name 열을 포함하는 student_view라는 뷰를 생성합니다.

  1. ~/project 디렉토리에 studentView.sql이라는 새 파일을 생성합니다.

  2. studentView.sql 파일에 student_view 뷰를 생성하는 코드 영역을 추가합니다:

    USE edusys;
    CREATE VIEW student_view AS
    SELECT ID, name, dept_name
    FROM student;
    
  3. MySQL 터미널에서 SQL 스크립트를 실행합니다:

    SOURCE /home/labex/project/studentView.sql
    
  4. student_view 뷰의 구조를 확인합니다:

    DESC student_view;
    

    출력 결과는 다음과 같아야 합니다:

    +------------+-------------+------+-----+---------+-------+
    | Field      | Type        | Null | Key | Default | Extra |
    +------------+-------------+------+-----+---------+-------+
    | ID         | int(11)     | NO   |     | NULL    |       |
    | name       | varchar(20) | NO   |     | NULL    |       |
    | dept_name  | varchar(20) | YES  |     | NULL    |       |
    +------------+-------------+------+-----+---------+-------+
    3 rows in set (0.002 sec)
    

요약

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

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