> 데이터 베이스 > MySQL 튜토리얼 > Create View 문을 사용하여 MySQL에서보기를 어떻게 생성합니까?

Create View 문을 사용하여 MySQL에서보기를 어떻게 생성합니까?

Emily Anne Brown
풀어 주다: 2025-03-19 15:53:28
원래의
368명이 탐색했습니다.

Create View 문을 사용하여 MySQL에서보기를 어떻게 생성합니까?

MySQL에서보기 생성은 CREATE VIEW 문을 사용하여 수행됩니다. 이 명령문을 사용하면 SELECT 문의 결과를 기반으로 가상 테이블을 만들 수 있습니다. 기본 구문은 다음과 같습니다.

 <code class="sql">CREATE [OR REPLACE] VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;</code>
로그인 후 복사

이 구문의 구성 요소를 분류합시다.

  • [또는 대체]보기 :이 절은 새 뷰를 만들거나 기존보기를 동일한 이름으로 바꾸는 데 사용됩니다.
  • View_Name : 이것은 당신이 당신의 관점에주고 싶은 이름입니다.
  • AS :이 키워드는 뷰 정의가 다음과 같이 나타 내기 위해 필요합니다.
  • 선택 ... :이 부분은 시야에 포함 할 열과 데이터를 선택하는 테이블을 지정합니다. 여기에는 유효한 SELECT 문을 포함시킬 수 있습니다. 즉, JOIN S WHERE Clauses) 및 필요한 기타 SQL 기능을 사용할 수 있습니다.

다음은 employees 테이블에서 employee_details 라는 뷰를 만드는 예입니다.

 <code class="sql">CREATE VIEW employee_details AS SELECT employee_id, first_name, last_name, hire_date, department FROM employees WHERE department = 'Sales';</code>
로그인 후 복사

이 견해는 영업 부서의 직원에게만 세부 정보를 표시합니다. 데이터베이스의 다른 테이블과 마찬가지로이보기를 쿼리 할 수 ​​있습니다.

 <code class="sql">SELECT * FROM employee_details;</code>
로그인 후 복사

MySQL에서 데이터 관리를 위해 뷰를 사용하면 어떤 이점이 있습니까?

MySQL에서 뷰를 사용하면 데이터 관리에 몇 가지 이점이 있습니다.

  1. 복잡한 쿼리의 단순화 :보기는 복잡한 쿼리를 단일 재사용 가능한 엔티티로 캡슐화 할 수 있습니다. 이를 통해 사용자는 데이터 모델의 근본적인 복잡성을 이해하지 않고도 데이터에 쉽게 액세스 할 수 있습니다.
  2. 데이터 추상화 및 보안 : 뷰는 민감한 열을 숨기거나 최종 사용자에 대한 데이터 구조를 단순화하는 방식으로 데이터를 제시하는 데 사용될 수 있습니다. 기본 테이블에 대한 액세스 권한을 부여하지 않고도 데이터 보안을 강화하지 않고도보기에 액세스 할 수 있습니다.
  3. 일관성 : 뷰는 응용 프로그램 또는 조직의 여러 부분에서 데이터 프리젠 테이션의 일관성을 유지하는 데 도움이 될 수 있습니다. 보기가 정의되면 동일한 복잡한 쿼리를 재정의하지 않고 반복적으로 사용할 수 있습니다.
  4. 재사용 성 : 뷰는 다른 쿼리에서 참조 할 수있는 재사용 가능한 구성 요소입니다.
  5. 성능 : 경우에 따라 뷰는 특히보기가 적절하게 인덱싱 된 경우 조인 및 필터를 사전 정의하여 쿼리 성능을 향상시킬 수 있습니다. 그러나 실제 성능 혜택은 View 및 데이터베이스 설정의 세부 사항에 따라 다릅니다.

MySQL의보기를 업데이트 할 수 있으며 그렇다면 어떤 조건 하에서?

MySQL의 뷰는 특정 조건에서 업데이트 될 수 있습니다. 다음 기준을 충족하면보기가 업데이트됩니다.

  1. 단일 테이블 :보기는 하나의 테이블 만 참조해야하며 다음 중 어느 것도 포함해서는 안됩니다. 집계 함수 ( SUM , MIN , MAX 등), DISTINCT , GROUP BY , HAVING UNION , 하위 SELECT 또는 WHERE 이있는 곳.
  2. 모든 열이 있습니다 :보기에 포함되지 않은 기본 테이블의 모든 열은 NULL 값을 허용하거나 기본값이 정의되어 있어야합니다.
  3. 계산 된 열 없음 :보기에는 계산 된 열 ( column1 column2 )을 포함 할 수 없습니다.
  4. 기본 키 또는 고유 키 :보기에 기본 키 또는 기본 테이블의 고유 키가 포함 된 경우 업데이트 가능성이 높습니다.
  5. LIMIT 조항 없음 :보기는 LIMIT 조항을 사용해서는 안됩니다.

다음은 업데이트 가능한보기의 예입니다.

 <code class="sql">CREATE VIEW employee_info AS SELECT employee_id, first_name, last_name, hire_date FROM employees;</code>
로그인 후 복사

이보기를 다음과 같이 업데이트 할 수 있습니다.

 <code class="sql">UPDATE employee_info SET first_name = 'John' WHERE employee_id = 1;</code>
로그인 후 복사

보기가 업데이트 가능한 조건을 충족하지 않으면 업데이트하려는 시도는 오류가 발생합니다.

MySQL에서 뷰를 만들 때 어떤 보안 고려 사항을 고려해야합니까?

MySQL에서 뷰를 만들 때 몇 가지 보안 고려 사항을 고려해야합니다.

  1. 액세스 제어 : 뷰를 사용하여 데이터 액세스를 제어합니다. 테이블의 특정 열이나 행만 노출시키는 뷰를 만들어 사용자가보고 상호 작용할 수있는 내용을 제한 할 수 있습니다.
  2. 최소 특권의 원칙 : 사용자에게 작업을 수행하는 데 필요한 최소 수준의 액세스 수준을 부여하십시오. 예를 들어, 사용자에게 전체 테이블에 액세스 권한을 부여하는 대신 필요한 데이터 만 포함하는보기에 액세스 할 수 있습니다.
  3. 데이터 마스킹 : 뷰를 사용하여 민감한 데이터를 마스킹합니다. 예를 들어, 사회 보장 번호의 마지막 4 자리를 별표로 대체하는보기를 만들 수 있습니다.
  4. 보기 정의 보안 : 뷰의 정의는 뷰의 정의를 작성하는 데 사용 된 SELECT 문을 포함하여 SHOW VIEW 특권을 가진 사용자가 볼 수 있습니다. 승인 된 사용자만이 권한이 있는지 확인하십시오.
  5. SQL 주입 방지 : 사용자가 공급 한 입력과 함께 뷰를 사용하는 것에주의하십시오. 뷰의 정의가 사용자 입력에 따라 동적으로 구성되면 SQL 주입 공격에 취약 할 수 있습니다.
  6. 감사 및 모니터링 : 어떤 견해에 액세스 할 수 있는지 정기적으로 감사하고 모니터링하고, 보안 정책에 맞게 해당 견해에 대해 실행되는 SQL 문을 검토합니다.
  7. 암호화 : 뷰가 민감한 데이터에 액세스하는 데 사용되는 경우, 보안을 향상시키기 위해 REST 및 Transit에서 암호화를 사용하는 것을 고려하십시오.

이러한 보안 측면을 신중하게 고려함으로써 MySQL에서 뷰를 활용하여 안전한 환경을 유지하면서 데이터 관리를 향상시킬 수 있습니다.

위 내용은 Create View 문을 사용하여 MySQL에서보기를 어떻게 생성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿