반응형
Ant_U
DBA 개미
Ant_U
전체 방문자
오늘
어제
  • 분류 전체보기 (262)
    • AWS (3)
    • C# (1)
    • SQL (236)
      • MYSQL (186)
      • MSSQL (50)
    • 자격증 (20)
      • SQLD (12)
      • SQLP (8)

인기 글

최근 글

250x250
hELLO · Designed By 정상우.
Ant_U

DBA 개미

SQL/MYSQL

[MYSQL] 뷰 예시 및 사용 방법

2023. 6. 12. 17:41
728x90
반응형

MySQL에서 뷰(View)는 하나 이상의 테이블에서 선택한 열과 행을 기반으로 생성된 가상 테이블입니다. 

뷰는 데이터를 더 간편하게 조회하고 조작하기 위해 사용됩니다. 

뷰는 실제 데이터를 저장하지 않고, 기존의 데이터를 기반으로 쿼리를 실행하여 결과를 반환합니다.

뷰를 생성하는 기본적인 구문은 다음과 같습니다:

CREATE VIEW 뷰명 AS
SELECT 열1, 열2, ...
FROM 테이블1
WHERE 조건;


예를 들어, "users" 테이블에서 "name"과 "email" 열만을 선택하여 "user_view"라는 뷰를 생성하려면 다음과 같이 작성할 수 있습니다:

CREATE VIEW user_view AS
SELECT name, email
FROM users;


위의 예시에서 "user_view" 뷰는 "users" 테이블에서 "name"과 "email" 열만을 선택하여 생성되었습니다.

뷰를 사용하여 데이터를 조회할 때는 기존의 테이블을 직접 사용하는 것과 유사한 방식으로 사용할 수 있습니다. 

다음은 "user_view" 뷰에서 데이터를 조회하는 예시입니다:

SELECT * FROM user_view;


위의 예시에서 "user_view" 뷰에서 모든 데이터를 조회하고 있습니다. 

뷰는 데이터를 가상으로 생성하기 때문에 뷰를 통해 조회된 결과는 실제 테이블의 데이터에 영향을 주지 않습니다.

뷰는 데이터를 조회하는 것뿐만 아니라, 데이터를 조작하는 데에도 사용할 수 있습니다. 

뷰에 대해 업데이트, 삽입, 삭제 등의 작업을 수행하려면 몇 가지 제약 조건을 충족해야 합니다:

1. 뷰는 기본 테이블의 일부 열만을 포함해야 합니다.
2. 뷰는 PRIMARY KEY나 UNIQUE 제약 조건을 가져야 합니다.
3. 뷰에서 사용된 모든 열은 업데이트 가능해야 합니다.

뷰를 통해 데이터를 조작하는 예시를 살펴보겠습니다.

 "user_view" 뷰를 기반으로 업데이트 작업을 수행하는 예시입니다:

UPDATE user_view SET email = 'new_email@example.com' WHERE name = 'John Doe';


위의 예시에서 "user_view" 뷰에서 "name"이 'John Doe'인 데이터의 "email" 값을 'new_email@example.com'으로 업데이트하고 있습니다. 

이러한 업데이트 작업은 실제로 "users" 테이블의 데이터를 수정합니다.

뷰는 데이터를 더 간편하게 조회하고 조작할 수 있도록 도와줍니다.

뷰는 원본 테이블의 데이터를 복제하지 않고도 필요한 데이터에 접근할 수 있는 가상의 테이블을 제공합니다. 

이를 통해 복잡한 쿼리를 단순화하고 데이터의 일관성과 보안을 유지할 수 있습니다.

728x90
반응형

'SQL > MYSQL' 카테고리의 다른 글

[MYSQL] 인덱스의 내부 작동에 대한 설명  (0) 2023.06.13
[MYSQL] 인덱스의 종류 및 자동 생성에 대한 설명  (0) 2023.06.13
[MYSQL] 인덱스의 개념 설명  (0) 2023.06.13
[MYSQL] 테이블스페이스 예제 및 사용 방법  (0) 2023.06.12
[MYSQL] 테이블 예시 및 사용 방법  (0) 2023.06.12
[MYSQL] 프로그래밍 예시 및 사용 방법  (0) 2023.06.12
[MYSQL] Join 조인 사용 방법  (0) 2023.06.08
[MYSQL] MySQL 데이터 형식  (0) 2023.06.08
    'SQL/MYSQL' 카테고리의 다른 글
    • [MYSQL] 인덱스의 개념 설명
    • [MYSQL] 테이블스페이스 예제 및 사용 방법
    • [MYSQL] 테이블 예시 및 사용 방법
    • [MYSQL] 프로그래밍 예시 및 사용 방법
    Ant_U
    Ant_U

    티스토리툴바