본문 바로가기
PostgreSQL

PostgreSQL 테이블 생성 그리고 삭제 방법

by devdrawer 2024. 1. 10.

PostgreSQL은 많은 사용자가 사용하는 무료 데이터베이스 입니다.
테이블을 생성해야 데이터 관리가 가능하기 때문에 테이블 생성과 삭제는 많이 사용하게 됩니다.
문법은 Oracle 등 다른 DBMS과 비슷하긴 합니다.

1. 테이블 생성

CREATE TABLE 명령어를 사용하여 생성하며 기본 형태는 아래와 같습니다.

CREATE TABLE "테이블 명" (
    "컬럼 명" "컬럼 유형" "제약 명" ,
    "컬럼 명" "컬럼 유형" "제약 명" ,
    ...
    "컬럼 명" "컬럼 유형" "제약 명" ,
    "컬럼 명" "컬럼 유형" "제약 명" 
)

 

1.1 제약 조건

테이블은 기본적으로 PK가 1개 필요하고 나머지 제약조건도 필요 시 추가 할 수 있습니다.
많이 사용되는 제약조건만 아래 표에 정리 했고 아래 스크립트 처럼 컬럼 옆에 제약조건을 명시하면 됩니다.

조건 설명
PRIMARY KEY 흔히 말하는 PK로 해당 컬럼의 값은 중복되지 않으며 NOT NULL 입니다.
NOT NULL 공백인 NULL이 입력될 수 없습니다.
UNIQUE 공백이 가능하지만 값 입력 시 다른 항목과 중복될 수 없습니다.

 

1-2. 데이터 타입

타입 설명
INTEGER 정수
VARCHAR(N) 입력한 만큼 길이 제한이 있는 데이터
TEXT 길이 제한이 없는 데이터
TIMESTAMPTZ 날짜, 시간 정보


1-3 예제 스크립트

게시판을 만들때 사용할 테이블 스크립트 입니다.

CREATE TABLE notice
(
    noticeId INTEGER PRIMARY KEY,
    title TEXT,
    contents TEXT,
    viewCount INTEGER DEFAULT 0,
    createdAt TIMESTAMPTZ,
    createdBy VARCHAR(255),
    updatedAt TIMESTAMPTZ,
    updatedBy VARCHAR(255)
);

위 스크립트를 보면 noticeId가 PK고 나머지 컬럼 추가 후 viewCount는 초기 값을 0으로 한다는 설정을 했습니다.

 

2. 테이블 삭제

테이블을 삭제하기위해서는 아래와 같이 처리해주면 된다.
테이블명 옆에 CASCADE, RESTRICT는 추가 선택사항 이다.

매개변수명 설명
CASCADE 삭제하려면 테이블과 의존성 관계에 있는 모든 객체도 같이 삭제
RESTRICT 삭제하려는 테이블과 의존성 관계가 있는 객체가 있으면 중지
DROP TABLE "테이블 명" CASCADE 또는 RESTRICT