PostgreSQL을 사용 중인데 기존에 DB 설계를 안하고 데이터 쌓기만 해놓은 상태이다.
이번에 DB설계하면서 공부할 예정이라 테이블 생성하는 방법 먼저 정리해야겠다.
테이블 생성하는 쿼리문
create table 테이블명
( 열이름 데이터타입 제약조건,
열이름 데이터타입 제약조건,
...
열이름 데이터타입 제약조건);
create table cafe_blog
( search_word text PRIMARY KEY,
cafe_posting int not null,
blog_posting int not null,
collect_date date) -- 제약조건이 없으면 null을 넣은 것과 같음
# 제약조건
- CHECK : 주어진 조건에 해당하는 값
- NOT NULL : 데이터 입력 시 누락이 있으면 안됨, 필수 입력
- UNIQUE : 중복성을 배제한 유일한 값 (null 값은 unique 제약 제외 - null은 데이터로 인식 X)
- PRIMARY KEY : ① 한 개의 테이블에 1개만 생성 가능
② null값이 있으면 안됨 (notnull)
③ 중복되지 않는 유일한 값 (unique)
- FOREIGN KEY : ① 참조하는 테이블에 존재하는 값만 입력 가능함
② 참조하는 테이블의 칼럼은 반드시 PRIMARY KEY 또는 UNIQUE여야함
③ 여러 개의 칼럼에 중복적으로 적용 가능함
두 테이블 사이의 관계를 선언하여 데이터 무결성 보장
→ 외래키는 기준 테이블을 참조하기 때문에 기준 테이블에 존재하는 데이터만 입력이 가능하며
참조하는 기준 테이블의 칼럼은 반드시 PK 이거나 UNIQUE 여야함
'SQL > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] 데이터 삽입 / 행 추가 (0) | 2022.08.11 |
---|---|
Python으로 PostgreSQL 연결하는 방법 (0) | 2022.08.02 |
[PostgreSQL] 데이터 수정 update문 (0) | 2022.07.25 |
[PostgreSQL] 행 / 열 삭제 (0) | 2022.04.23 |