본문 바로가기
DataBase

[SQL]테이블 이름 변경

by 바까 2021. 9. 25.
반응형
--테이블 이름 변경 
한번 만들어진 테이블이라고 하더라도 테이블 이름을 변경 할 수 있다.
이 기능으로 인해 업무 변화에 유연하게 대처 할 수 있다.

--테이블 이름 변경 실습
create table vendors
( 
	id serial primary key,
	name varchar not null
);

--vendors 테이블을 suppliers 테이블로 변경
alter table vendors rename to suppliers;

--supplier_groups 테이블 생성
create table supplier_groups
(
	id serial primary key,
	name varchar not null
);

--suppliers 테이블에 컬럼 추가 후 fk 생성
alter table suppliers add column group_id int not null;
alter table suppliers add foreign key (group_id) references supplier_groups (id);


--뷰 생성
create view supplier_data as
select s.id, s.name, g.name "group"
from suppliers s, supplier_groups g 
where g.id=s.group_id;

select * from supplier_data ;


--suppliers 테이블의 group_id 컬럼은 supplider_groups 테이블의 id를 참조하고 있다
--그렇다면 여기서 부모 테이블인supplier_groups 테이블의 테이블명을 바꾸면 
--자식 테이블인 supplier 테이블은 어떻게 될까
alter table supplier_groups rename to groups;

--결과
-- public.suppliers foreign keys
ALTER TABLE public.suppliers ADD CONSTRAINT suppliers_group_id_fkey FOREIGN KEY (group_id) REFERENCES public."groups"(id);

--suppliers 테이블의 group_id 컬럼은 supplier_groups 테이블의 id 컬럼을 참조하고있었다.
--테이블명을 groups 로 바꾼 후에 suppliers 테이블의 ddl을 참조해 보면 테이블명이 groups로 자동으로 반영 된것을 알 수 있다.

--뷰도 마찬가지로 자동으로 반영
반응형

'DataBase' 카테고리의 다른 글

[SQL]칼럼 제거  (0) 2021.09.25
[SQL]칼럼 추가  (0) 2021.09.25
[SQL]테이블 구조 변경  (0) 2021.09.25
[SQL]CTALS  (0) 2021.09.25
[SQL] 데이터 타입  (0) 2021.09.15

댓글