Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- HTML
- DML
- asp.net
- CSS
- java
- SQL_용어정리
- 자바
- 다이어그램
- Spring_오류정리
- git
- Spring_에러정리
- github
- vb.net
- 배열
- Linux_명령어정리
- JavaScript
- 아파치톰캣
- MySQL
- jsp
- SQL
- 인덱스
- spring
- Git_명령어정리
- json
- 이클립스
- 인스턴스
- 자바스크립트
- Git_정리
- workbench
- Linux
Archives
- Today
- Total
데브마우스
[SQL] 뷰(View) 정리 본문
뷰는 무엇인가요?
뷰는 '가상의 테이블'이라 부를 수 있습니다. 그렇다면 가상의 의미는 무엇일까요? '실체가 없다. 기능은 같다.'라는 의미를 가지고 있으며 IT에서는 가상 현실, 가상 화폐 등 많은 부분에서 사용되고 있습니다.
뷰의 특징은 다음과 같습니다.
- 가상의 테이블입니다.
- 데이터가 있는 주소를 가집니다. 윈도우즈의 바로가기 아이콘에 비유할 수 있습니다.
- 실제 테이블에 연결되어 있습니다.
- 뷰인지 알아 볼 수 있게 이름 앞에 v_를 붙이는 것이 일반적입니다.
뷰는 2가지로 나눌 수 있습니다: 단순 뷰(테이블 1개)와 복합 뷰(테이블 2개 이상)로 나눌 수 있습니다.
뷰는 어떻게 사용하나요?
뷰의 예제 코드는 다음과 같습니다.
-- 뷰 코드 형식
CREATE VIEW 뷰_이름
AS
SELECT 문;
뷰는 어떻게 작동하나요?
사용자
OR Java의 pstmt |
1. 조회 또는 변경 |
SELECT 문
|
2. 쿼리 실행 → |
테이블
|
||
4. 결과 ← | 3.쿼리 결과값 | |||||
뷰를 사용하는 이유는 무엇인가요?
- 보안(Security)을 위해서 사용합니다. 특정 컬럼의 접근을 제한하는 뷰를 생성할 수 있습니다.
- 복잡한 SQL을 단순하게 만들 수 있습니다. 자주 사용하는 SELECT문을 view로 단순하게 만들 수 있습니다.
뷰의 실제 생성, 수정, 삭제하는 방법입니다.
뷰 생성 코드 |
create view v_viewtest1
AS SELECT B.mem_id 'Member ID', M.mem_name as 'Member Name', B.prod_name "Product Name", concat(M.phone1, M.phone2) as "Office Phone" FROM buy B inner join member M ON B.mem_id = M.mem_id; |
뷰 수정 코드 |
alter view v_viewtest1
as select B.mem_id '회원 아이디', M.mem_name AS '회원 이름', B.prod_name "제품 이름", concat(M.phone1, M.phone2) AS "연락처" FROM buy B INNER JOIN member M ON B.mem_id = M.mem_id; |
뷰 삭제 코드 |
drop view v_viewtest1;
|
뷰의 정보를 확인하는 방법입니다.
-- DESC는 PK 등의 정보는 확인되지 않습니다.
DESCRIBE 뷰_이름;
DESC 뷰_이름;
-- 뷰의 소스 코드를 확인합니다.
SHOW CREATE VIEW 뷰_이름;
뷰를 통해 데이터를 수정 및 삭제하는 방법입니다.
뷰를 통해 데이터를 수정하는 방법입니다.
UPDATE v_member SET addr = '부산' WHERE mem_id = 'mouse';
뷰를 통해 데이터를 삭제하는 방법입니다.
DELETE FROM 뷰_이름 WHERE 조건식;
뷰를 통해 데이터를 입력하는 방법입니다.
뷰를 통해 데이터를 입력한다고 한다면 입력이 될 수도 있고 안될수도 있습니다.
주어진 뷰를 제외하고 원본 테이블의 NOT NULL처럼 필수로 입력해야하는 열(Column)이 있다면 뷰를 통해서 데이터를 입력할 수 없습니다.
뷰를 통해 데이터를 입력할 때는 아래 코드 형식을 따릅니다.
INSERT INTO 뷰_이름 VALUES(컬럼1, 컬럼2, ...);
'데이터베이스 > SQL: 정리' 카테고리의 다른 글
[SQL] 인덱스의 내부 작동 정리 (0) | 2024.01.05 |
---|---|
[SQL] 인덱스의 개념 정리 (0) | 2024.01.05 |
[SQL] 제약 조건(PK, FK, UNIQUE, CHECK, DEFAULT, NOT NULL) 정리 (0) | 2024.01.04 |
[SQL] 테이블 만드는 방법 정리 (0) | 2024.01.04 |
[SQL] 스토어드 프로시저(함수), PREPARE와 EXECUTE 정리 (0) | 2024.01.04 |