SQL에서 ALTER를 사용한 테이블 수정

발행: (2026년 3월 29일 오전 02:34 GMT+9)
2 분 소요
원문: Dev.to

Source: Dev.to

컬럼을 NOT NULL 로 만들기

ALTER TABLE customers
ALTER COLUMN email SET NOT NULL;

고유 제약 조건 추가

ALTER TABLE users
ADD CONSTRAINT unique_username UNIQUE (username);

CHECK 제약 조건 추가

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

기본값 설정

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

제약 조건이 있는 컬럼 추가

ALTER TABLE employees
ADD COLUMN salary DECIMAL(10,2) NOT NULL CHECK (salary > 10000);

ON DELETE CASCADE를 사용한 외래키 관리

-- Remove the existing foreign key constraint
ALTER TABLE employees
DROP CONSTRAINT employees_department_id_fkey;

-- Add a new foreign key with cascade delete
ALTER TABLE employees
ADD CONSTRAINT employees_department_id_fkey
FOREIGN KEY (department_id)
REFERENCES departments(id)
ON DELETE CASCADE;

CHECK 제약 조건 삭제

ALTER TABLE accounts
DROP CONSTRAINT accounts_balance_check;

테이블 정의 보기

\d accounts;

복합 고유 제약 조건 추가

ALTER TABLE payments
ADD CONSTRAINT unique_user_transaction
UNIQUE (user_id, transaction_id);
0 조회
Back to Blog

관련 글

더 보기 »

CA 40 – Alter Tables

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

ALTER 테이블

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

ALTER 쿼리

이번 과제에서는 ALTER TABLE을 사용하여 기존 테이블을 수정하는 작업을 수행했습니다. 이를 통해 테이블을 다시 생성하지 않고도 제약 조건을 업데이트하는 방법을 이해할 수 있었습니다. Task...