본문 바로가기
프로그래밍/데이터베이스

PostgreSQL CRUD 문법 정리

by bantomak 2025. 2. 17.
반응형

PostgreSQL CRUD 문법

CRUD(Create, Read, Update, Delete)는 데이터베이스의 기본적인 조작을 의미한다.

PostgreSQL에서 CRUD를 수행하는 SQL문법에 대해서 정리해 보자.

테이블 생성

CREATE TABLE 다음에 생성하려는 테이블의 테이블명을 입력한다. 그리고 생성하려는 컬럼명과 컬럼의 타입을 지정해 준다.

CREATE TABLE users (
    id SERIAL PRIMARY KEY,    -- 자동 증가하는 ID
    name VARCHAR(100) NOT NULL, -- 사용자 이름
    email VARCHAR(255) UNIQUE NOT NULL, -- 이메일 (고유값)
    age INT CHECK (age > 0), -- 나이는 0보다 커야 함
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 생성 날짜
);

데이터 삽입(INSERT)

단일 레코드를 삽입하는 경우 VALUES에 소괄호 ()를 하나만 입력한다.

INSERT INTO users (name, email, age) VALUES ('Alice', 'alice@example.com', 25);

여러 레코드를 삽입하는 경우에는 소괄호 () 다음에 , (콤마, Comma)로 구분해서 입력한다.

INSERT INTO users (name, email, age) VALUES
    ('Bob', 'bob@example.com', 30),
    ('Charlie', 'charlie@example.com', 27),
    ('David', 'david@example.com', 22);

데이터 조회(SELECT)

*(Asterisk, 애스터리스크)를 입력하면 해당 테이블의 모든 컬럼을 조회한다는 의미이다. 조회하려는 대상 테이블은 FROM 다음에 입력한다.

SELECT * FROM users;

특정 컬럼만 조회할 경우에는 조회하려는 컬럼의 이름을 지정해서 조회한다.

SELECT name, email FROM users;

데이터 수정(UPDATE)

필드명을 지정하고 해당 필드의 타입에 맞는 값을 입력하면 데이터 수정이 가능하다.

UPDATE user SET age = 26 WHERE name = 'Alice';

여러 필드를 동시에 수정할 수도 있다. 이때도 동일하게 , 로 구분해서 작성한다.

UPDATE users SET name = 'Alicia', age = 28 WHERE email = 'alice@example.com';

UPDATE 구문에서 WHERE 절이 없으면 해당 테이블의 모든 데이터를 수정하게 되니 꼭 WHERE로 범위를 지정하도록 하자.

UPDATE users SET age = age + 1;

데이터 삭제(DELETE)

이제 데이터를 삭제해 보자. FROM 다음에 입력한 테이블에서 name이 'Bob'인 데이터를 모두 제거한다는 의미이다.

DELETE FROM users WHERE name = 'Bob';

UPDATE 구문과 동일하게 DELETE 구문에서도 WHERE로 범위를 지정하지 않으면 모든 데이터가 제거된다. 주의하도록 하자.

DELETE FROM users;

DELETE 구문을 사용한다고 해서 테이블 자체가 삭제되는 것은 아니다. 테이블에 입력되어 있던 데이터가 삭제되는 것이다.

테이블 자체를 삭제하고 싶을 때는 DROP 구문을 사용해서 삭제한다.

DROP TABLE users;

정리하면

PostgreSQL에서 CRUD 문법은 기본 중에 기본이기 때문에 자주 써서 꼭 기억하도록 하자.

  • 데이터 삽입(INSERT INTO ~ VALUES)
  • 데이터 조회(SELECT)
  • 데이터 수정(UPDATE ~ SET)
  • 데이터 삭제(DELETE FROM ~)

댓글