PostgreSQL 예제를 사용하여 뷰 생성

⚡ 스마트 요약

PostgreSQL 뷰는 저장된 SELECT 쿼리로부터 생성되는 가상 테이블로, 복잡하거나 자주 사용되는 쿼리를 단일 이름으로 묶어 일반 테이블처럼 읽고, 업데이트하고, 삭제할 수 있게 해줍니다.

  • 🗂️ 가상 테이블: 뷰는 데이터가 아닌 쿼리를 저장하지만, 테이블처럼 SELECT 문을 사용하여 데이터를 가져옵니다.
  • 🛠️ 창조하다: CREATE VIEW는 여러 기본 테이블에 걸쳐 있는 SELECT 쿼리의 이름을 지정하여 쉽게 재사용할 수 있도록 합니다.
  • ♻️ 교체 : 뷰 생성 또는 교체는 삭제 없이 뷰를 변경합니다.ping 그것.
  • 🗑️ 하락: DROP VIEW는 뷰를 제거하고, IF EXISTS는 오류를 방지합니다.
  • 🤖 AI 도움말: AI 비서가 뷰 정의를 생성하고 어떤 쿼리를 래핑해야 하는지 제안합니다.

PostgreSQL 보기 만들기

PostgreSQL 보다?

In PostgreSQL, 뷰는 의사 테이블입니다. 이는 뷰가 실제 테이블이 아님을 의미합니다. 그러나 일반 테이블로 SELECT할 수 있습니다. 뷰에는 테이블 열 전체 또는 일부가 포함될 수 있습니다. 뷰는 둘 이상의 테이블을 나타낼 수도 있습니다.

이 테이블들을 기본 테이블이라고 합니다. 뷰를 생성할 때는 쿼리를 작성하고 이름을 지정하기만 하면 되므로, 다양한 용도로 활용할 수 있는 유용한 도구입니다.ping 복잡하고 자주 사용되는 쿼리.

만들기 PostgreSQL 조회수

를 만들려면 PostgreSQL 뷰에서는 CREATE VIEW 문을 사용합니다. 이 명령문의 구문은 다음과 같습니다.

CREATE [OR REPLACE] VIEW view-name AS
  SELECT column(s)
  FROM table(s)
  [WHERE condition(s)];

OR REPLACE 매개변수는 이미 존재하는 경우 뷰를 대체합니다. 생략하고 뷰가 이미 존재하는 경우 오류가 반환됩니다.

view-name 매개변수는 생성해야 하는 보기의 이름입니다.

WHERE 조건은 선택 사항이지만, 레코드를 뷰에 추가하려면 반드시 충족되어야 합니다.

아래에 제공된 가격표를 고려하십시오.

가격:

만들기 PostgreSQL 조회수

위의 테이블에서 뷰를 만들어 보겠습니다.

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

위의 명령은 다음을 기반으로 뷰를 생성합니다. SELECT 문. 가격이 200보다 큰 레코드만 보기에 추가됩니다. 뷰의 이름은 Price_View로 지정되었습니다. 내용을 보기 위해 쿼리해 보겠습니다.

SELECT *
FROM Price_View;

다음을 반환합니다.

만들기 PostgreSQL 조회수

기본 테이블에 4개의 레코드가 있더라도 뷰에는 2개만 추가되었습니다.

여기서는 뷰에 열을 하나만 추가할 수 있습니다. 가격 테이블의 열 하나만 포함하는 뷰를 만들어 보겠습니다.

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

뷰에는 Price_View2라는 이름이 지정되었으며 가격 테이블의 가격 열만 포함됩니다. 내용을 보기 위해 뷰를 쿼리해 보겠습니다.

SELECT *
FROM Price_View2;

다음을 반환합니다.

만들기 PostgreSQL 조회수

변경하기 PostgreSQL 조회수

뷰의 정의는 삭제하지 않고도 변경할 수 있습니다. 이는 CREATE OR REPLACE VIEW 문을 사용하여 수행됩니다.

Price_View2라는 뷰를 업데이트하여 이를 보여드리겠습니다.

가격_조회2:

변경하기 PostgreSQL 조회수

Book 테이블은 다음과 같습니다.

도서:

변경하기 PostgreSQL 조회수

가격표는 다음과 같습니다.

가격:

변경하기 PostgreSQL 조회수

다음 쿼리는 Price_View2 뷰를 업데이트하는 데 도움이 됩니다.

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

이제 뷰를 쿼리하여 내용을 살펴보겠습니다.

변경하기 PostgreSQL 조회수

뷰가 변경되었으며 이제 두 개의 다른 테이블에서 두 개의 열이 생겼습니다. 이는 JOIN 문을 사용하여 달성되었습니다.

삭제 PostgreSQL 조회수

삭제해야 할 때마다 PostgreSQL 뷰를 삭제하려면 DROP VIEW 문을 사용할 수 있습니다. 다음은 해당 문의 구문입니다.

DROP VIEW [IF EXISTS] view-name;

view-name 매개변수는 삭제할 보기의 이름입니다.

이 구문에서 `IF EXISTS`는 선택 사항입니다. 이를 지정하지 않고 존재하지 않는 뷰를 삭제하려고 하면 오류가 발생합니다.

예를 들어, Price_View2라는 뷰를 삭제하려면 다음 명령문을 실행할 수 있습니다.

DROP VIEW Price_View2;

보기가 삭제됩니다.

pgAdmin 사용

이제 pgAdmin을 사용하여 이러한 작업을 수행하는 방법을 살펴보겠습니다.

만들기 PostgreSQL 조회수

pgAdmin을 통해 동일한 작업을 수행하려면 다음을 수행하십시오.

단계 1) pgAdmin 계정에 로그인하세요.

단계 2)

  • 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  • 데모를 클릭하세요.

만들기 PostgreSQL pgAdmin을 사용한 보기

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

단계 4) 실행 버튼을 클릭하세요.

만들기 PostgreSQL pgAdmin을 사용한 보기

단계 5) 뷰의 내용을 보려면 다음 단계를 따르세요.

  • 쿼리 편집기에 다음 명령을 입력하세요.
SELECT *
FROM Price_View;
  • 실행 버튼을 클릭하세요.

만들기 PostgreSQL pgAdmin을 사용한 보기

다음이 반환됩니다.

만들기 PostgreSQL pgAdmin을 사용한 보기

Price_View2 뷰를 만들려면 다음을 수행하세요.

단계 1) 쿼리 편집기에 다음 쿼리를 입력하세요.

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

단계 2) 실행 버튼을 클릭하세요.

만들기 PostgreSQL pgAdmin을 사용한 보기

단계 3) 보기의 내용을 보려면 다음을 수행하세요.

  • 쿼리 편집기에 다음 쿼리를 입력하세요.
SELECT *
FROM Price_View2;
  • 실행 버튼을 클릭하세요.

만들기 PostgreSQL pgAdmin을 사용한 보기

다음이 반환됩니다.

만들기 PostgreSQL pgAdmin을 사용한 보기

변경하기 PostgreSQL 조회수

pgAdmin을 통해 동일한 작업을 수행하려면 다음을 수행하십시오.

단계 1) pgAdmin 계정에 로그인하세요.

단계 2)

  • 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  • 데모를 클릭하세요.

변경하기 PostgreSQL pgAdmin을 사용한 보기

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

단계 4) 실행 버튼을 클릭하세요.

변경하기 PostgreSQL pgAdmin을 사용한 보기

단계 5) 쿼리 편집기에 다음 쿼리를 입력하세요.

SELECT *
FROM Price_View2;

다음이 반환됩니다.

변경하기 PostgreSQL pgAdmin을 사용한 보기

삭제 PostgreSQL 조회수

pgAdmin을 통해 동일한 작업을 수행하려면 다음을 수행하십시오.

단계 1) pgAdmin 계정에 로그인하세요.

단계 2)

  • 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  • 데모를 클릭하세요.

삭제 PostgreSQL pgAdmin을 사용한 보기

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

DROP VIEW Price_View2;

단계 4) 실행 버튼을 클릭하세요.

삭제 PostgreSQL pgAdmin을 사용한 보기

보기가 삭제됩니다.

이 튜토리얼에 사용된 데이터베이스 다운로드

자주 묻는 질문

테이블은 데이터를 물리적으로 디스크에 저장합니다. 뷰는 SELECT 쿼리만 저장하므로 뷰를 쿼리하면 해당 쿼리가 다시 실행되어 기본 테이블의 최신 데이터가 반환됩니다.

구체화된 뷰는 쿼리 결과를 디스크에 캐시합니다. 일반 뷰보다 읽기 속도가 빠르지만, 새 데이터를 표시하려면 구체화된 뷰를 새로 고쳐야 합니다.

표준 뷰는 매번 쿼리를 실행하여 실시간 데이터를 표시합니다. 구체화된 뷰는 속도 향상을 위해 결과를 디스크에 저장하지만, 새로 고쳐지기 전까지는 최신 정보가 아닐 수 있습니다.

경우에 따라 다릅니다. 집계 기능이 없는 간단한 단일 테이블 뷰는 자동으로 업데이트되므로 INSERT, UPDATE, DELETE 작업이 직접 수행됩니다. 복잡한 뷰의 경우 INSTEAD OF 트리거가 필요합니다.

카탈로그를 조회하려면 다음 쿼리를 실행하세요: SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. pgAdmin에서 스키마 아래의 '뷰' 노드를 확장할 수 있습니다.

AI 비서는 일반적인 요청을 CREATE VIEW 문으로 변환하고, 뷰 이름을 지정하고, 적절한 WHERE 및 JOIN 절을 추가하여 자주 재사용하는 쿼리의 속도를 향상시킵니다.

네. 긴 SELECT 문을 붙여넣으면 AI 도우미가 이를 CREATE OR REPLACE VIEW로 감싸고, 이름을 제안하며, 중복된 이름을 피하기 위해 별칭이 필요한 열을 표시합니다.

일반 뷰는 SELECT 문이 매번 실행되므로 쿼리 속도를 향상시키지 않습니다. 반복적인 읽기 속도를 높이려면 새로 고침될 때까지 결과를 디스크에 저장하는 구체화된 뷰를 사용하십시오.

이 게시물을 요약하면 다음과 같습니다.