조회 수 1123 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

https://kkamikoon.tistory.com/entry/MySQL-%EB%B7%B0-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0VIEW-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0




 

 뷰(View)란?


뷰(View)란 데이터베이스에 존재하는 일종의 가상 테이블을 말합니다.

이러한 뷰를 이용하여 실제 테이블처럼 행과 열을 가지고 있지만, 실제로 데이터를 저장하고 있지는 않습니다.

즉, 우리가 여러 테이블을 번거롭게 들러서 확인을 해야 할 때 혹은 SELECT 문을 겹겹이 사용해서 어려운 쿼리문으로 조회를 수행해야 할 때 이러한 번거로움을 줄여주는 것이 바로 뷰(View) 입니다.


단, 유의해야 할 점은 MySQL에서 뷰는 단지 다른 테이블이나 다른 뷰에 있는 데이터를 보여주는 역할만을 수행합니다. 이름이 그래서 뷰(View)인가 봅니다. 뷰는 마치 하나의 테이블인 것처럼 보여준다는 장점이 있습니다.





 

 뷰의 특징


 

 뷰의 장점


MySQL에서의 뷰의 장점은 다음과 같습니다.


1. 특정 사용자에게 테이블 전체가 아닌 필요한 필드만 보여줄 수 있음

2. 복잡한 쿼리를 단순화해서 사용할 수 있음

3. 위와 같이 사용한 쿼리를 재사용할 수 있음


 

 뷰의 단점


단, 편리하지만 단점 또한 있습니다.


1. 한 번 정의된 뷰는 변경이 불가능함

2. 삽입, 삭제, 갱신 작업에 많은 제한 사항을 가짐

3. 뷰는 자신만의 인덱스를 가질 수 없음


위와 같은 특징을 유의하여 뷰를 생성하고 사용해보도록 합시다.





 

 뷰 생성 예제


VIEW는 마치 테이블을 만들듯 생성할 수 있습니다. 따라서 CREATE 문을 사용하여 생성해보도록 합시다.

MySQL에서 VIEW를 생성하는 예제는 다음과 같습니다.


 

 단일 테이블의 필요한 필드만 조회하는 뷰 명령어

1
2
3
4
5
-- VIEW 생성 명령어
CREATE VIEW [view_name] AS \
SELECT [field_name_1], [field_name_2] ... \
FROM [table_name] \
WHERE [조건];


위의 명령에서는 하나의 테이블에서 필요한 필드의 내용만 가져오기 위한 명령어를 작성해보았습니다.

이는 테이블이 하나밖에 없기 때문입니다.



 

 여러 테이블의 필요한 필드를 조회하는 뷰 명령어


만약 여러분이 여러 테이블의 내용을 섞어서 보고싶다면 다음과 같은 방법을 사용해보도록 합시다.


1
2
3
4
5
-- 여러 테이블을 조회하는 VIEW 생성 명령어
CREATE VIEW [view_name] AS \
SELECT a.[field_name_1], b.[field_name_2] \
FROM [table_name_1] AS a, [table_name_2] AS b \
WHERE [조건];


위의 명령어는 table_name_1과 table_name_2의 두 테이블에서 각각 field_name_1과 field_name_2를 가져오는 명령어입니다.

field_name_1은 table_name_1에 있는 필드이고, field_name_2는 마찬가지로 table_name_2에 있는 필드입니다.

여기서 [조건]에 적절한 조건을 넣어줘야 합니다.


예를들면..

- table_name_1의 어떤 필드와 table_name_2의 어떤 필드의 값이 같은 것을 조회한다.

- table_name_1의 어떤 필드의 특정 값을 조회한다.

등이 있겠습니다.


실행 결과는 다음과 같이 나타나게 됩니다.

Field_name_1

Field_name_2

table_name_1에 있는 field_name_1의 값 

table_name_2에 있는 field_name_2의 값 

 ...

... 






 

 뷰 대체 예제


뷰 대체란 기존에 생성했던 뷰를 다시 새로운 뷰로 대체한다는 뜻입니다.

뷰는 한 번 생성하면 변경이 불가능하기 때문에 새로운 뷰로 대체하는 것으로 뷰에 설정한 필드를 대체할 수 있습니다.


 

 뷰 대체 명령어


1
2
3
4
5
-- 뷰 대체 명령어
-- 기존의 view_name 이라는 VIEW를 새로운 필드로 설정해줄 수 있음
CREATE OR REPLACE VIEW [view_name] AS \
SELECT [field_name_1], [field_name_2] AS [new_field_name] \
FROM [table_name];


만약 위와 같이 뷰를 대체하게 되면, [field_name_2]라는 이름을 가진 필드가 [new_field_name]이라는 이름으로 대체됩니다.






 

 뷰 사용 예제


생성한 뷰는 일반적인 SELECT 명령어로 사용할 수 있습니다.


1
2
-- 생성된 뷰 조회(뷰 이름 : view_name)
SELECT * FROM view_name;


위와 같이 생성된 뷰를 전체 조회하게 되면 원하는 테이블의 원하는 필드 값만 볼 수 있습니다.




Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
476 C 정규식 테스트 사이트 2012.09.20 17528 0
475 일반 정규식 요약 프린트 file 2014.04.21 10767 0
474 일반 정규식 요약 2013.01.23 15555 0
473 C# 정규식 사용하기 2012.11.27 16487 0
472 LINUX 접속한 사용자 확인 w 명령어 2013.05.02 13254 0
471 업무 전자저널 이용안내 secret 2016.08.29 0 0
470 Pi 전압 분배(분배 저항)로 병렬 저항 계산하기 2017.07.25 9810 0
469 일반 전기적 스펙에 관한 용어, 약자 정리 2020.02.24 5037 0
468 일반 적분 해주는 함수 예제 file 2005.08.05 41514 0
467 일반 장치관리자 실행 명령어 2013.08.05 14873 0
466 일반 자주 사용하는 아주 유용한 파워포인트 단축키 [Useful Short-cut for PowerPoint] 2013.04.01 20079 0
465 C# 자신의 IP주소 확인하기 2013.02.01 22998 0
464 JAVA 자바 프로그래머가 알아야할 10가지 이클립스 단축키 1 2015.10.27 7763 0
463 JAVA 자바 리스트(List,ArrayList) 이용하는 방법 2016.02.22 28834 0
462 Android 자바 call stack을 임의로 보는 방법 2012.09.05 17722 0
목록
Board Pagination ‹ Prev 1 2 3 4 5 6 7 8 9 10 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5