DB View - 자주 쓰는 쿼리 저장하기 > 기술자료 | 해피정닷컴

DB View - 자주 쓰는 쿼리 저장하기 > 기술자료

본문 바로가기

사이트 내 전체검색

DB View - 자주 쓰는 쿼리 저장하기 > 기술자료

MySQL DB View - 자주 쓰는 쿼리 저장하기

페이지 정보


본문


View(뷰)
 - 자주 쓰는 쿼리를 저장할 수 있다. (매일 확인하는 용도?)
 - 쿼리 상에서만 존재하는 테이블이다. 
    테이블처럼 행동하고, 테이블에 할 수 있는 조작을 똑같이 수행할 수 있기 때문에
    가상 테이블이라고도 한다.
    하지만 가상 테이블은 DB 내에 존재하지 않는다. 가상 테이블은 View를 사용할 때 생성되고 후에 지워진다.
 - 뷰를 사용하면 새 열이 데이터베이스에 추가될 때마다 새 정보가 뷰에 반영된다.
 - Update, Insert, Delete에도 쓸 수 있다.(그러나 테이블에 바로 사용하는 편이 낫다.)
 
View 생성
 Create View 뷰이름 AS
 Select column From table1
 Where title = 'ABC';

View 호출
 Select * From 뷰이름

예) 
 생성 : 쿼터만을 가진 행을 출력하게 해주는 뷰를 작성한다.
 Create View pb_quarters AS
 Select * From piggy_bank
 Where coin = 'Q';

 호출 : 쿼터만을 가진 행만 출력하게 된다.
 Select * From pb_quarters;

View 삭제
 Drop View 뷰이름;

View 구조 보기
 Desc 뷰이름;

모든 View 보기 (테이블과 같이 나온다)
 Show tables;


* 참고 
   - 실제로 뷰는 서브쿼리처럼 동작한다.
     아래 예를 참고하자

예)
  Select * From web_designers;

  를 분해해보면 

  Select * From
  (Select mc.first_name, mc.last_name, mc.phone, mc.email
   From my_contacts mc
   Natural Join job_desired jd
   Where jd.title = 'Web Designer') AS web_designers;

  와 같다. 끝에 AS web_designers를 붙이는 이유는
  From 절에는 테이블이 나와 있어야 하기 때문이다.
  Select문이 가상 테이블을 반환하기는 하지만 별명(Alias)이 없이는 SQL이 
  이 테이블(뷰)에 접근할 방법이 없기 때문
이다.
 

View의 장점
 1. 데이터베이스의 구조를 변경하여도 테이블에 의존하는 어플리케이션을 변경할 필요가 없다.
 2. 복잡한 쿼리를 간단한 명령으로 단순하게 만들 수 있어 편리하다.
 3. 사용자에게 필요없는 정보를 숨기는 뷰를 만들 수 있다. 

View 사용시 주의사항
 1. 뷰가 집계 값(SUM, COUNT, AVG 같은)을 사용한다면, 데이터의 변경에 뷰를 사용할 수 없다.
 2. 뷰에 Group By, Distinct, Having이 포함되어 있는 경우 데이터를 변경할 수 없다. 
 3. 테이블을 삭제하기전에 반드시 뷰를 먼저 삭제해야한다.
    데이터베이스 시스템마다 다르나 MySQL의 경우 뷰에 관련된 테이블이 존재하지 않으면
    그 뷰를 Drop할 수 없다.

업데이트 가능한 View
 - 뷰와 관련 테이블의 데이터를 변경할 수 있는 뷰이다.
 - 관련 테이블들의 Not Null 인 열들만을 포함하고 있어야 한다.

업데이트 불가능한 View
 - 뷰와 관련된 테이블에 데이터를 Insert하거나 Update하는데 이용할 수 없는 뷰이다.


자료출처
http://warmz.tistory.com/281  

댓글목록

등록된 댓글이 없습니다.


Total 111건 4 페이지
  • RSS
기술자료 목록
51
MySQL   13590  2015-05-20 00:39  
50
MySQL   12968  2013-09-12 14:02 ~ 2017-10-30 02:22  
49
MySQL   24472  2013-05-11 18:26 ~ 2023-01-11 13:42  
48
MySQL   12882  2013-03-23 17:40  
47
MySQL   19235  2013-02-18 20:53  
46
MySQL   13695  2012-11-05 01:21  
열람
MySQL   17640  2012-11-03 06:07  
44
MySQL   12944  2012-06-13 02:18  
43
MySQL   12900  2012-05-22 14:48  
42
MySQL   30880  2012-05-22 14:20  
41
MySQL   13784  2012-04-01 12:30  
40
MySQL   18095  2012-02-29 22:30  
39
MySQL   17161  2011-12-01 23:15 ~ 2018-01-16 11:18  
38
MySQL   14026  2011-10-01 19:05  
37
MySQL   15069  2010-07-21 21:48  
36
MySQL   17856  2010-05-14 09:20  
35
MySQL   16308  2009-12-09 22:47  
34
MySQL   13327  2009-12-09 22:32  
33
MySQL   18903  2009-09-08 20:22  
32
MySQL   43679  2009-09-08 20:21  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2025 해피정닷컴. All Rights Reserved.