ALTER 쿼리

발행: (2026년 3월 29일 PM 09:14 GMT+9)
2 분 소요
원문: Dev.to

Source: Dev.to

Tasks

1. customers 테이블에서 email을 NOT NULL로 만들기

ALTER TABLE customers ALTER COLUMN email SET NOT NULL;

2. users 테이블에서 username을 UNIQUE로 만들기

ALTER TABLE users ADD CONSTRAINT unique_username UNIQUE (username);

3. products 테이블에 price > 0 체크 제약조건 추가

ALTER TABLE products ADD CONSTRAINT price_check CHECK (price > 0);

4. orders 테이블의 status에 기본값 'pending' 설정

ALTER TABLE orders ALTER COLUMN status SET DEFAULT 'pending';

5. employees 테이블에 제약조건이 있는 salary 컬럼 추가

ALTER TABLE employees ADD COLUMN salary INT NOT NULL CHECK (salary > 10000);

6. employees 테이블의 외래키를 CASCADE로 수정

ALTER TABLE employees DROP CONSTRAINT employees_department_id_fkey;
ALTER TABLE employees ADD CONSTRAINT employees_department_id_fkey
    FOREIGN KEY (department_id) REFERENCES departments(id) ON DELETE CASCADE;

7. accounts 테이블의 balance 체크 제약조건 제거

ALTER TABLE accounts DROP CONSTRAINT accounts_balance_check;

8. payments 테이블에 복합 UNIQUE 추가

ALTER TABLE payments ADD CONSTRAINT unique_user_transaction
    UNIQUE (user_id, transaction_id);

배운 점

  • ALTER TABLE은 데이터를 삭제하지 않고도 구조를 수정할 수 있게 해줍니다.
  • 제약조건은 언제든지 추가, 제거 또는 업데이트할 수 있습니다.
  • 제약조건에 적절한 이름을 붙이면 관리가 더 쉬워집니다.
0 조회
Back to Blog

관련 글

더 보기 »

ALTER 테이블

1. customers 테이블의 email 컬럼을 NOT NULL로 설정합니다: ALTER TABLE customers ALTER COLUMN email SET NOT NULL; 2. users 테이블에서 username이 unique하도록 보장합니다: ALTER TABLE…

CA 40 – Alter Tables

customers 테이블에서 email을 NOT NULL로 만들려면 다음과 같이 실행합니다: ALTER TABLE customers ALTER COLUMN email SET NOT NULL; 이는 향후 행에 반드시 email 값이 있어야 함을 보장합니다. Make usern...