SQL에서 ALTER를 사용한 테이블 수정
발행: (2026년 3월 29일 AM 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);