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
'PostgreSQL' 카테고리의 다른 글
PostgreSQL Data Type timestamp 와 timestamptz 차이점 (0) | 2024.01.24 |
---|---|
PostgreSQL 데이터 입력을 위한 INSERT 사용 방법 (0) | 2024.01.17 |