Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 열 목록을 지정하여 뷰(View)를 생성하는 방법

MySQL에서 뷰(view)를 생성할 때 열 목록을 명시하는 것은 선택 사항입니다. 하지만 뷰를 생성하면서 열 이름을 직접 지정하는 경우에는, 열 목록에 포함된 이름의 개수가 SELECT 문이 반환하는 열의 개수와 반드시 일치해야 합니다. 개수가 맞지 않으면 오류가 발생합니다.

예제

다음 예제는 열 목록을 지정하여 뷰를 생성하는 과정을 보여줍니다.

mysql> Select * from student_detail;
+-----------+-------------+------------+
| Studentid | StudentName | address    |
+-----------+-------------+------------+
| 100       | Gaurav      | Delhi      |
| 101       | Raman       | Shimla     |
| 103       | Rahul       | Jaipur     |
| 104       | Ram         | Chandigarh |
| 105       | Mohan       | Chandigarh |
+-----------+-------------+------------+
5 rows in set (0.17 sec)

mysql> Create view View_student_detail_columns AS SELECT Studentid,
StudentName FROM Student_Detail;
Query OK, 0 rows affected (0.10 sec)

위 예제에서는 StudentidStudentName, 두 개의 열을 지정하여 뷰를 생성했습니다. 이후 뷰에서 데이터를 조회하면, 뷰 생성 시 지정한 두 개의 열만 화면에 표시되고 나머지 열(address)은 노출되지 않습니다.

mysql> Select * from View_Student_detail_columns;
+-----------+-------------+
| Studentid | StudentName |
+-----------+-------------+
| 100       | Gaurav      |
| 101       | Raman       |
| 103       | Rahul       |
| 104       | Ram         |
| 105       | Mohan       |
+-----------+-------------+
5 rows in set (0.08 sec)

열 목록을 지정하면 좋은 점

뷰 생성 시 열 목록을 지정하면 다음과 같은 장점이 있습니다.

- 열 이름 변경: 원본 테이블의 열 이름을 그대로 쓰지 않고, 뷰에서 더 직관적인 다른 이름으로 표시할 수 있습니다.
- 필요한 열만 노출: 민감한 정보나 불필요한 열을 숨기고 필요한 데이터만 제공할 수 있어 보안과 가독성 측면에서 유리합니다.
- 명확한 구조 정의: 뷰의 구조를 코드 수준에서 명확하게 문서화할 수 있습니다.

단, 열 목록의 이름 개수는 SELECT 문이 반환하는 열의 개수와 정확히 일치해야 한다는 점을 항상 기억하세요.