DB View - 자주 쓰는 쿼리 저장하기 > 온라인강의

본문 바로가기
 
 
 
오늘 1,647
어제 1,606
최대 2,526
전체 3,404,517

최근 방문자

932
869
1674
1697
1606
1647
24 25 26 27 28 29
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 3가지 만족을 드리는 비즈명함 / 즉석명함 / 급행서비스 / 서울 전지역 수도권일부 3시간배송

select * from g5_menu where me_use = '1' and me_link like '%lecture%'
온라인강좌 홈 > 온라인강좌 > 온라인강좌

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

페이지 정보

작성일2012-11-03 06:07 조회4,520회 댓글0건

본문


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 2,008건 1 페이지
온라인강의 목록
번호 제목
2008
2007
2006
2005
2004
2003
2002
2001
2000
1999
1998
1997
1996
1995
1994
1993
1992
1991
1990
1989
1988
1987
1986
1985
1984
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호:119-05-36414 (08394) 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
전화: 070-7600-3500 팩스:02-865-3528 개인정보관리:정창용 mail@happyjung.com 에스크로확인
개인정보취급방침
COPYRIGHT 2001~2017 해피정닷컴. All rights reserved. 부가통신사업신고:서울체신청-1217 통신판매신고:2014-서울구로-0074
 
모바일 버전으로 보기