본문 바로가기
postgreSQL

[PostgreSQL] 테이블 생성 및 편집

by 똘이토스 2023. 8. 2.

테이블 생성

PostgreSQL에서 테이블을 생성하는 가장 기본적인 구문은 다음과 같습니다.

 

CREATE TABLE table_name (
    column1 datatype constraint,
    column2 datatype constraint,
    column3 datatype constraint,
    ....
);

 

여기서 table_name은 생성하려는 테이블의 이름이며, column1, column2, column3 등은 테이블의 열 이름입니다. datatype은 해당 열의 데이터 타입을 지정하며, constraint는 해당 열에 적용할 제약 조건을 지정합니다. 

 

예를 들어, 아래의 SQL 구문은 employees라는 이름의 테이블을 생성하며, 이 테이블은 id, name, email, age라는 네 개의 열을 가지고 있습니다.

 

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name TEXT NOT NULL,
    email TEXT NOT NULL UNIQUE,
    age INT CHECK(age > 0)
);

 

제약 조건

제약 조건은 테이블의 데이터 무결성을 보장하는 데 사용됩니다. PostgreSQL에서는 다음과 같은 제약 조건을 사용할 수 있습니다.

 

제약 조건 설명
NOT NULL 해당 열의 값이 NULL이 될 수 없음을 지정합니다.
UNIQUE 해당 열의 모든 값이 고유해야 함을 지정합니다.
PRIMARY KEY 해당 열을 테이블의 기본 키로 지정합니다. 기본 키는 NULL 값을 가질 수 없으며, 모든 값이 고유해야 합니다.
FOREIGN KEY 해당 열을 다른 테이블의 기본 키로 지정합니다. 외래 키는 참조 무결성을 보장하는 데 사용됩니다.
CHECK 해당 열의 값이 지정된 조건을 만족해야 함을 지정합니다.

 

테이블 편집

새로운 열 추가

테이블에 새로운 열을 추가하려면 ALTER TABLE 명령과 ADD COLUMN을 사용합니다. 다음은 employees 테이블에 email이라는 새로운 열을 추가하는 예입니다.

 

ALTER TABLE employees ADD COLUMN email VARCHAR(255);

 

기존 열 삭제

기존 열을 삭제하려면 ALTER TABLE 명령과 DROP COLUMN을 사용합니다. 다음은 employees 테이블에서 email 열을 삭제하는 예입니다.

 

ALTER TABLE employees DROP COLUMN email;

 

 

제약 조건 추가 및 삭제

제약 조건을 추가하거나 삭제하려면 ALTER TABLE 명령과 ADD CONSTRAINT을 사용합니다. 다음은 employees 테이블에 email 열에 대한 UNIQUE 제약 조건을 추가하는 예입니다.

 

ALTER TABLE employees ADD CONSTRAINT email_unique UNIQUE (email);

 

제약 조건을 삭제하려면 다음과 같이 DROP CONSTRAINT을 사용합니다.

 

 

ALTER TABLE employees DROP CONSTRAINT email_unique;

 

데이터 타입 변경

기존 열의 데이터 타입을 변경하려면 ALTER TABLE 명령과 ALTER COLUMN을 사용합니다. 다음은 employees 테이블의 email 열의 데이터 타입을 TEXT로 변경하는 예입니다.

 

ALTER TABLE employees ALTER COLUMN email TYPE TEXT;