본문 바로가기
IT/SQL 기초강좌 (PostgreSQL)

60강 SQL 초석 다지기 : PostgreSQL Rename Table

by DoitSQL 2023. 1. 3.
728x90

PostgreSQL 기초강의, PostgreSQL 기초강좌, PostgreSQL 기본강의, PostgreSQL 기본강좌

60강 SQL 초석 다지기 : PostgreSQL Rename Table  

 

SQL 초석 다지기 60강 시작합니다.

 

이번 시간에는

 PostgreSQL Rename Table

에 대해서 알아보는 시간입니다.

 

요약: 이번 강의에서는 ALTER TABLE 문의 RENAME 테이블 절을 사용하여 테이블 이름을 바꾸는 방법을 보여줍니다.


Introduction to the PostgreSQL Rename Table statement      

기존 테이블의 이름을 변경하려면 다음과 같이 ALTER TABLE 문을 사용합니다.

ALTER TABLE table_name
RENAME TO new_table_name;   

 

이 구문에서:

  • 먼저 ALTER TABLE 절 뒤에 이름을 바꾸고자 하는 테이블의 이름을 지정합니다.
  • 둘째, RENAME TO 절 뒤에 새 테이블 이름을 지정하십시오.

 

존재하지 않는 테이블의 이름을 변경하려고 하면 PostgreSQL에서 오류가 발생합니다. 이 문제를 방지하려면 다음과 같이 IF EXISTS 옵션을 추가합니다.

ALTER TABLE IF EXISTS table_name
RENAME TO new_table_name;   

 

이 경우 table_name이 존재하지 않으면 PostgreSQL가 대신 알림을 발행합니다.

여러 테이블의 이름을 바꾸려면 여러 개의 ALTER TABLE RNAME TO 문을 실행해야 합니다. 단일 ALTER TABLE 문을 사용하여 여러 테이블의 이름을 변경할 수 없습니다.


PostgreSQL rename table examples   

다음 문은 vendors라는 새 테이블을 생성합니다.

DROP TABLE IF EXISTS vendors;
CREATE TABLE vendors (
    id serial PRIMARY KEY,
    name VARCHAR NOT NULL
);   


vendors 테이블의 이름을 suppliers로 변경하려면 다음 ALTER TABLE RNAME TO 문을 사용합니다.

ALTER TABLE vendors RENAME TO suppliers;   


각 vendor 또는 supplier가 그룹에 속한다고 가정합니다. 이 관계를 관리하려면 다음과 같이 supplier_groups 테이블을 추가해야 합니다.

CREATE TABLE supplier_groups (
    id serial PRIMARY KEY,
    name VARCHAR NOT NULL
);   


또한 suppliers 테이블에 group_id라는 새 열을 추가해야 합니다. 이 열은 supplier_groups 테이블의 id 열에 연결되는 외부 키 열입니다.

ALTER TABLE suppliers 
ADD COLUMN group_id INT NOT NULL;

ALTER TABLE suppliers 
ADD FOREIGN KEY (group_id) REFERENCES supplier_groups (id);   


전체 공급업체 데이터를 쿼리 하는 데 걸리는 시간을 절약하기 위해 다음과 같은 suppliers 및 suppliers_groups 테이블에 대한 뷰를 생성할 수 있습니다.

CREATE VIEW supplier_data 
AS SELECT
    s.id,
    s.name,
    g.name  supply_group
FROM
    suppliers s
INNER JOIN supplier_groups g ON g.id = s.group_id;   


테이블 이름을 새 테이블로 변경하면 PostgreSQL은 외부 키 제약 조건, 보기 및 인덱스와 같은 종속 개체를 자동으로 업데이트합니다.

 

먼저 suppliers table을 확인해 보겠습니다. 

\d suppliers   

출력은 suppliers 테이블에 supplier_groups 테이블을 참조하는 외부 키 제약 조건이 있음을 보여줍니다.


이제 다음과 같이 supplier_groups 테이블의 이름을 그룹으로 바꿀 수 있습니다.

ALTER TABLE supplier_groups RENAME TO groups;   


suppliers 테이블을 다음과 같이 설명하여 suppliers 테이블에서 외부 키 제약 조건을 확인할 수 있습니다.

\d suppliers 

출력에서 분명히 알 수 있듯이 외부 키 제약 조건이 업데이트되고 대신 groups 테이블을 참조했습니다.


다음 문은 supplier_data 보기를 보여줍니다.

\d+ supplier_data   

출력은 뷰의 SELECT 문에 있는 supplier_groups 테이블도 groups 테이블로 업데이트되었음을 보여줍니다. 


이번 강의에서는 ALTER TABLE 문의 PostgreSQL RENAME 테이블 절을 사용하여 테이블 이름을 바꾸는 방법을 배웠습니다.

 

내용을 차분히 따라 해 보시기 바랍니다.

다 외울 필요는 없습니다. 이런 게 있구나 정도 아시면 됩니다.

생각 안나면 다시 찾아보면 되니까요.


본 강의는 PostgreSQL Tutorial을 참조합니다.  https://www.postgresqltutorial.com/
Do it! SQL을 찾아 주셔서 감사합니다. 공감 ♥ , 댓글이 큰 힘이 됩니다.

 

728x90

댓글