일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- POJO
- @AspectJ
- spring aop
- @test
- Framework
- java spring
- JDBC TEMPLATE
- myBatis
- Di
- AOP
- 컨테이너
- XML
- Dependency Injection
- Linux
- Ubunt
- SpringJDBC
- unix
- java
- spring
- Spring Boot
- 마이바티스
- pointcut
- @Spring-Test
- @JUnit
- 리눅스
- spring framework
- JdbcTemplate
- Spring JDBC
- STS
- 프로퍼티
Archives
- Today
- Total
개키우는개발자 : )
PostgreSQL 테이블 구조 및 이름 변경 본문
반응형
테이블 구조 변경
한번 만들어진 테이블 이여도 테이블 구조를 변경 할 수 있습니다. 이 기능으로 인해 업무변화에 유연하게 대처할 수 있습니다.
실습
- LINKS 테이블 생성
CREATE TABLE LINKS (
LINK_ID SERIAL PRIMARY KEY,
TITLE VARCHAR(512) NOT NULL,
URL VARCHAR(1024) NOT NULL UNIQUE
);
- LINKS 테이블에 ACTIVE 컬럼을 추가
ALTER TABLE LINKS ADD COLUMN ACTIVE BOOLEAN;
- LINKS 테이블에 ACTIVE 컬럼을 제거
ALTER TABLE LINKS DROP COLUMN ACTIVE;
- TITLE 컬럼을 LINK_TITLE 컬럼으로 변경
ALTER TABLE LINKS RENAME COLUMN TITLE TO LINK_TITLE;
- TARGET 컬럼을 추가
ALTER TABLE LINKS ADD COLUMN TARGET VARCHAR(10);
- TARGET 컬럼의 DEFAULT 값을 "_BLANK"로 설정
ALTER TABLE LINKS ALTER COLUMN TARGET SET DEFAULT '_BLANK';
- LINKS 테이블에 LINK_TITLE,URL 데이터 저장
INSERT INTO links (LINK_TITLE,URL)
VALUES ('PostgreSQL Tutorial','http://www/postgresqltutorial.com/');
COMMIT;
- LINKS 테이블을 조회하면 TARGET 컬럼에 _BLANK 가 기본값으로 저장되어 있는걸 확인할 수 있습니다.
SELECT * FROM LINKS;
- TARGET 컬럼에 대한 체크 제약 조건을 추가 합니다.
ALTER TABLE LINKS ADD CHECK (TARGET IN ('_SELF','_BLANK','_PARENT','_TOP'));
- 제약조건에 없는 임의의 값을 저장 합니다.
INSERT INTO links (LINK_TITLE,URL,TARGET)
VALUES ('PostgreSQL Tutorial','http://www/postgresqltutorial.com/','ABCD');
SQL Error [23514]: 오류: 새 자료가 "links" 릴레이션의 "links_target_check" 체크 제약 조건을 위반했습니다
테이블 이름 변경
한번 만들어진 테이블이라고 하더라도 테이블 이름을 변경 할 수 있습니다.이 기능으로 인해 업무변화에 유연하게 대처할 수 있습니다.
- LINKS 테이블의 이름을 LK 로 변경합니다.
ALTER TABLE LINKS RENAME TO LK;
- LK_GROUP 테이블 만듭니다.
CREATE TABLE LK_GROUP(
ID SERIAL PRIMARY KEY,
NAME VARCHAR NOT NULL
);
- LK 테이블에 GROUP_ID 추가 합니다.
ALTER TABLE LK ADD COLUMN GROUP_ID INT;
- LK 테이블에 FOREIGN KEY 생성 합니다.
ALTER TABLE LK ADD FOREIGN KEY (GROUP_ID)
REFERENCES LK_GROUP (ID)
- VIEW 를 생성합니다 (VIEW 는 실체하는 데이터가 아닌 보기용 입니다)
CREATE VIEW LK_DATA AS
SELECT
A.LINK_ID,
A.LINK_TITLE,
B.NAME "GROUP"
FROM
LK A , LK_GROUP B
WHERE B.ID = A.GROUP_ID;
반응형
'PostgreSQL > 데이터 조작 및 테이블 관리' 카테고리의 다른 글
PostgreSQL CREATE TABLE AS SELECT (CTAS) (0) | 2019.11.19 |
---|---|
PostgreSQL 테이블 생성 (2) | 2019.11.17 |
PostgreSQL 데이터 타입 (0) | 2019.11.17 |
PostgreSQL IMPORT 작업 (0) | 2019.11.17 |
PostgreSQL EXPORT 작업 (0) | 2019.11.16 |
Comments