본문 바로가기
반응형

DBMS/PostgreSQL19

[PostgreSQL] MATERIALIZED VIEW(구체화 된 뷰) 생성, 갱신, 삭제 하기 MATERIALIZED VIEW 라는 구체화된 뷰가 존재한다. 이것은 VIEW라고 이름이 붙었음에도 VIEW처럼 가상테이블이 아니라 TABLE 처럼 실제 존재한다. 뭔가 자주쓰이는 것 같지는 않고 생소하지만 상황에따라 얼마든지 사용가능한 것으로 보인다. ▷ MATERIALIZED VIEW 생성 구문 CREATE MATERIALIZED VIEW table_name [ (column_name [, ...] ) ] [ WITH ( storage_parameter [= value] [, ... ] ) ] [ TABLESPACE tablespace_name ] AS query [ WITH [ NO ] DATA ] 참고 : https://www.postgresql.org/docs/9.3/sql-createmater.. 2021. 7. 6.
[PostgreSQL] select 시 순번 부여하기 (ft. row_number()) postgresql 에서 select구문을 날릴때 순번을 부여하는 방법에 대해 알아보자. 제목에 있는 그대로 row_number를 사용할것인데 이는 순차적으로 번호를 부여해준다. 바로 예제를 통해 알아보도록하자. ▷예제1) row_number() 사용법 SELECT (ROW_NUMBER() OVER()), COLUMN_A, COLUMN_B, COLUMN_C FROM mine 이런식으로 사용하게되면 select 시 번호가 매겨져 있으며 OVER() 라는 녀석의 괄호 안에 ROW_NUMBER()에 대한 조건을 정의할 수 있다. 2021. 7. 1.
[PostgreSQL] 다른 테이블 구조 및 데이터 복사하기 PostgreSQL에서 새로운 테이블을 만들때 다른 테이블을 복사하여 생성하는 방법에 대해 알아보자. 바로바로 예제를 통해 접근해보자. (예제에 나오는 othertable 에 복사할려는 테이블 명을 적어주면 된다.) ▷예제1) 다른 테이블의 구조만 복사하기 CREATE TABLE mine (LIKE othertable); ▷예제2) 다른 테이블의 구조와 데이터 복사하기 CREATE TABLE it AS SELECT * FROM othertable ▷예제3) 다른 테이블의 구조와 테이블의 모든 정보 복사하기(ft. index) create table trecord (like othertable including all); -- 추가로 데이터도 넣어주기 insert into trecord (select * .. 2021. 7. 1.
[PostgreSQL] 조건에 따라 다른값 보여주기 (CASE WHEN ~ ELSE ~ END) PostgreSQL에서 조건에 따라 다른값을 보여주는 CASE WHEN ~ END 구문에 대해 알아보자. ▷ 구문 CASE WHEN condition_1 THEN result_1 WHEN condition_2 THEN result_2 [WHEN...] [ELSE else_result] END 여기서 ELSE 부분 역시 생략이 가능하지만 위에서 만족하는 조건이 없으면 NULL을 반환하니 상황에 따라 뭐라도 넣어주는것이 좋을 수 있다. CASE WHEN 구문은 PostgreSQL 에서만 존재하는건 아니라서 오라클 등등에서 사용할 수 있으니 이참에 잘 알아두자. ▶예제1) 일반 구문 형식 SELECT CASE WHEN score IS NOT NULL THEN 'D' ELSE 'F' END AS code_sco.. 2021. 5. 19.
[PostgreSQL] 뷰(view) 테이블 생성(CREATE), 수정(CREATE OR REPLACE), 삭제하기(DROP) PostgreSQL에서의 view 테이블 제어에 대해 알아보자. ▷ 구문 CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW name [ ( column_name [, ...] ) ] [ WITH ( view_option_name [= view_option_value] [, ... ] ) ] AS query 예제를 통해 쉽게 접해보자. ▷ 예제1) CREATE VIEW TABLE CREATE VIEW mine AS select * from it t , record r where t.sn = r.sn 예제는 mine 이라는 view 테이블을 생성하는 건데 AS 뒤에 나오는 쿼리문의 결과를 VIEW로 만들어 주는 것이다. ▷ 예제2) REPLCAE VIEW TABLE CRE.. 2021. 1. 23.
[PostgreSQL] 테이블의 컬럼 정보 확인_INFORMATION_SCHEMA.COLUMNS (ft. 특정 컬럼 존재 여부 확인) PostgreSQL에서 특정 테이블의 컬럼 목록과 특정 컬럼의 존재 여부를 확인하는 방법에 대해 알아보자. PostgreSQL의 구조를 보면 알겠지만 데이터베이스 내 schema 별로 테이블을 가지고 있는데 이 모든 schema 안에 있는 컬럼 정보들을 가지고 있는 INFORMATION_SCHEMA.COLUMNS SELECT * FROM INFORMATION_SCHEMA.COLUMNS 를 사용하여 특정 테이블 정보와, 특정 테이블의 컬럼 존재 여부를 확인해보자. ▷ 예제1) 특정 테이블의 정보 가져오기 SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'target_table' 예제의 'target_table' 부분에 사용하고 있는 테이블명을 넣어.. 2020. 12. 16.
[PostgreSQL] SELECT LIMIT ~ OFFSET 사용하기 (ft. 페이징 활용) PostgreSQL에서 특히 페이징할때 많이 사용하는 LIMIT ~ OFFSET 에 대해 알아보자. ▷ 구문 SELECT * FROM [TABLE] LIMIT [NUM_A] OFFSET [NUM_B]; LIMIT는 개수를 제한하는것이며 OFFSET은 시작 위치를 지정해준다고 생각하면 쉽다. 예제를 통해 알아보도록 하자. 예제를 시작하기에 앞서 이해를 돕기 위해 기본적으로 아래와 같은 데이터를 가진 테이블이 존재한다고 가정하여 진행한다. ▷ BBS_TABLE BBS_SN BBS_SJ BBS_CTN 1 첫번째 제목 첫번째 내용 2 두번째 제목 두번째 내용 ... ... ... 20 스무번째 제목 스무번째 내용 ▷ 예제1) 처음 10개의 게시글(ROW)를 가져온다. SELECT * FROM BBS_TABLE .. 2020. 10. 28.
[PostgreSQL] 문자열 합치기(concat , ||) PostgreSQL에서 문자열을 합치는 방법에 대해 알아보자. 오라클같은것을 많이 사용해봤으면 알겠지만 PostgreSQL 역시 '||' 와 'concat' 을 사용하여 문자열을 합칠 수 있다. 각각의 구문과 예제를 통해 알아보자. ▷ 구문1 ) || (operator) A || B || ...N - A || B ||... 이런식으로 사용하며 vertical bar 두개를 기준으로 합쳐진다. - 주의해야할 점은 PostgreSQL에서는 NULL을 인지하기 때문에 합치려는 값 중에 하나라도 NULL이 존재할 경우 NULL 을 반환한다. ▷ 예제1) use operator SELECT 'mine' || 'It' || 'Record' -- mineItRecord SELECT 'vertical' || NULL .. 2020. 10. 28.
[PostgreSQL] 데이터 있으면 UPDATE 없으면 INSERT (INSERT INTO ~ ON CONFLICT DO UPDATE) PostgreSQL에서 사용하는 upsert구문에 대해 알아보자. 오라클에서는 merge into, mysql에서는 on duplicate on key update를 사용하며 이와 비슷하게 PostgreSQL에서는 insert into ~ on conflict do update 구문을 사용한다. ▷ 구문 INSERT INTO [TABLE] (COLUMN1, COLUMN2, ...) VALUES (VALUE1, VALUE2, ...) ON CONFLICT ([column_name / ON CONSTRAINT constraint_name/ WHERE predicate]) [DO NOTHING] [DO UPDATE SET column1 = value1, ...] 구문에 대해 상세히 설명하자면 ON CONFLI.. 2020. 10. 5.
반응형
TOP