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

본문 바로가기
 
 
 
오늘 691
어제 1,481
최대 2,454
전체 3,205,413
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 3가지 만족을 드리는 비즈명함 / 즉석명함 / 급행서비스 / 서울 전지역 수도권일부 3시간배송

온라인강좌 홈 > 온라인강좌 > 온라인강좌

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

페이지 정보

작성일2012-11-03 06:07 조회4,305회 댓글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 50건 1 페이지
온라인강의 목록
번호 제목
50
MySQL Window에서 MySQL 5.7.13 설치하기 (write.2016-06-25)인기글  Hit.3008
49
48
MySQL 쿼리 및 인덱스의 이해 (write.2015-05-20)인기글  Hit.2676
47
MySQL 여러가지 툴 (write.2013-09-12)인기글  Hit.3735
46
45
MySQL 결과 제한 쿼리 (write.2013-03-23)인기글  Hit.3816
44
MySQL GROUP BY 에서 HAVING의 시점 (write.2012-11-05)인기글  Hit.4045
열람중
42
41
MySQL mysql-character-set (write.2012-05-22)인기글  Hit.4687
40
39
MySQL CAST 함수 (write.2012-04-01)인기글  Hit.4492
38
37
MySQL 데이타 유형 (write.2011-10-01)인기글  Hit.4746
36
MySQL 날짜 연산쿼리 (write.2010-07-21)인기글  Hit.6964
35
MySQL mysql-bin 로그 삭제하기 (write.2010-05-14)인기글  Hit.9854
34
MySQL optimize 테이블 최적화 (write.2009-12-09)인기글  Hit.9058
33
MySQL select , delete , update 사용법 (write.2009-12-09)인기글  Hit.7254
32
31
30
MySQL MySQL 5에서 한글이 ???로 보일때 (write.2009-08-21)인기글  Hit.10868
29
MySQL mysql 설치 A to Z (write.2009-08-19)인기글  Hit.11047
28
27
MySQL MySQL서버 정상 작동 확인 (write.2009-06-04)인기글  Hit.10812
26
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호: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
 
모바일 버전으로 보기