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 2,641건 69 페이지
  • RSS
기술자료 목록
1281
Linux   14217  2012-12-11 22:45 ~ 2012-12-11 00:00  
1280
Linux   21295  2012-12-11 22:16  
1279
Linux   17352  2012-12-11 22:10  
1278
MSSQL   27809  2012-12-07 11:17  
1277
그누보드   19805  2012-12-03 08:27  
1276
HTML   35652  2012-12-02 09:56  
1275
그누보드   16415  2012-11-30 00:46  
1274
HTML   22325  2012-11-29 18:44  
1273
ClassicASP   14897  2012-11-16 21:44 ~ 2012-11-17 00:00  
1272
ClassicASP   13204  2012-11-16 21:20  
1271
ClassicASP   20273  2012-11-14 20:00  
1270
ClassicASP   21640  2012-11-14 19:52 ~ 2016-01-26 00:00  
1269
그누보드   16284  2012-11-10 14:38 ~ 2017-01-21 00:00  
1268
그누보드   15009  2012-11-08 04:05  
1267
그누보드   11688  2012-11-07 22:01  
1266
그누보드   13740  2012-11-05 02:06  
1265
MySQL   13533  2012-11-05 01:21  
1264
MSSQL   15937  2012-11-05 01:20 ~ 2022-11-23 14:40  
1263
그누보드   11625  2012-11-04 18:20  
열람
MySQL   17436  2012-11-03 06:07  

검색

해피정닷컴 정보

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

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