MYSQL의 뷰 사용법 소개(코드 예)

不言
풀어 주다: 2019-02-27 13:52:43
앞으로
2983명이 탐색했습니다.

이 글은 MYSQL에서의 뷰 사용법(코드 예제)을 소개합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

1. 뷰란 무엇인가요

SQL을 실행하고 결과 집합을 가상 테이블에 저장합니다

(관련 권장 사항: MySQL 튜토리얼)

2. 뷰를 사용하는 이유

  1. 명령문

  2. SQL 쿼리를 단순화하고 데이터를 빠르게 검색

  3. 테이블의 부분 구조만 알고

  4. 데이터를 보호하고, 특정 인증에 따라 데이터 형식과 표현을 변경

  5. , 뷰는 return 및 기본 테이블은 데이터를 다르게 표현하고 형식을 지정합니다.

Notes
• 뷰가 생성된 후에는 기본적으로 테이블과 동일하게 사용할 수 있습니다. (쿼리, 필터링, 데이터 정렬, 다른 뷰와 연결 또는 연결(추가, 업데이트))
• 뷰는 다른 곳에 저장된 데이터를 보기 위한 기능에만 사용되며, 반환된 데이터는 다른 테이블에서도 검색됩니다.
• 뷰 자체에는 데이터가 포함되어 있지 않으므로 여러 테이블 조인을 인덱싱하거나 중첩하면 성능 문제가 발생할 수 있으므로 테스트가 필요합니다

3. 규칙 및 제한 사항

  1. 테이블 이름은 다른 뷰 및 테이블과 함께 고유해야 합니다. )

  2. 뷰 생성에는 제한이 없습니다

  3. 충분한 권한

  4. 뷰는 중첩될 수 있고 다른 뷰에서 쿼리하여 뷰를 구성할 수 있습니다

  5. 뷰와 쿼리가 모두 뷰의 순서는 덮어쓰기됩니다

  6. 뷰는 색인화할 수 없습니다

  7. 뷰는 테이블과 함께 사용할 수 있습니다

4 뷰를 사용하여

  1. create view

  2. 뷰를 생성하는 문을 봅니다. Show create view viewname

  3. Delete view drop viewname

  4. Update view, 1⃣️ 먼저 Drop한 후 2⃣️ 생성 or create view 직접 사용

  5. 뷰를 사용하여 복잡한 조인 쿼리 단순화

5 . 뷰를 사용하여 복잡한 조인 쿼리를 단순화하세요

뷰 만들기

CREATE VIEW productcustomers AS
SELECT cust_name, cust_contact, prod_id
FROM customers, orders, orderitems
WHERE customers.cust_id = orders.cust_id
AND   orderitems.order_num = orders.order_num
로그인 후 복사

뷰 사용

SELECT cust_name, cust_contact
FROM productcustomers
WHERE prod_id = 'TNT2';
로그인 후 복사

6. 뷰를 사용하여 검색된 데이터 형식을 다시 지정하세요

select concat (rtrim(vend_name) , '(',rtrim(vend_country),')') as vend_title   from vendors order by vend_name;
로그인 후 복사

이 형식을 자주 사용하면 A를 만들 수 있습니다. view

CREATE VIEW vendorlocations AS
SELECT
    concat ( rtrim( vend_name ), '(', rtrim( vend_country ), ')' ) AS vend_title 
FROM
    vendors 
ORDER BY
    vend_name;
로그인 후 복사

는 view

SELECT * FROM vendorlocations;
로그인 후 복사

7를 통해 결과를 직접 쿼리할 수 있습니다. 7. 뷰를 사용하여 원하지 않는 데이터를 필터링하세요

create view custmeremaillist AS
SELECT cust_id ,cust_name,cust_email
from customers
where cust_email is not NULL;
로그인 후 복사

뷰를 직접 사용하세요

SELECT * from custmeremaillist ;
로그인 후 복사

8. 뷰 및 계산된 필드를 사용하세요

mysql 쿼리

SELECT
    prod_id,
    quantity,
    item_price,
    quantity * item_price AS expanded_price 
FROM
    orderitems
WHERE order_num=20005;
로그인 후 복사

뷰 만들기

CREATE VIEW orderitemsexpanded AS
SELECT
    order_num,
    prod_id,
    quantity,
    item_price,
    quantity * item_price AS expanded_price 
FROM
    orderitems
WHERE order_num=20005;
로그인 후 복사

뷰 사용

SELECT
    *
FROM
    orderitemsexpanded
WHERE order_num=20005;
로그인 후 복사

9. 뷰 업데이트

보통 뷰는 업데이트(삽입, 업데이트, 삭제)가 가능합니다. 뷰를 업데이트하면 기본 테이블이 업데이트됩니다. 다음 정의가 있는 경우 뷰를 업데이트할 수 없습니다.

1. 分组(group by 和 having)
2. 联结
3. 自查询
4. 并
5. 聚合函数(min()、count()、sum()等)
6. Distinct
7. 导出(计算)列
로그인 후 복사

그래서 뷰는 선택 쿼리를 직접 사용하는 것이 가장 좋습니다.


위 내용은 MYSQL의 뷰 사용법 소개(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!