본문 바로가기
오라클

[오라클] ALTER 문 완벽 정리

by devlog93 2026. 1. 14.

ALTER문은 이미 생성된 데이터베이스 객체의 구조를 변경할 때 사용하는 DDL이다. 테이블을 새로 만드는 CREATE문과 다르게 ALTER 문은 운영 중인 데이터에 영향을 줄 수 있기 때문에 사용 시에는 특별히 주의해야 한다...!


1. ALTER 문이란?

ALTER 문은 테이블, 컬럼, 제약조건, 인덱스 등의 구조를 수정하는 SQL문이다.

대표적으로 컬럼을 추가하거나 데이터 타입을 변경하거나 제약조건을 추가 또는 삭제할 때 사용한다...!

ALTER문도 DDL이기 때문에 자동 COMMIT이 된다. 실행 후 ROLLBACK불가능.


2. 컬럼 추가 (ADD)

많이 사용하는 ALTER문법이다.

ALTER TABLE 테이블명 ADD 컬럼명 데이터타입(크기);

예제

  • 기존 데이터는 유지하고 새로운 컬럼이 추가된다.
ALTER TABLE MEMBER ADD PHONE VARCHAR2(20);

3. 컬럼 수정 (MODIFY)

컬럼의 데이터 타입이나 크기를 변경할 때 사용.

ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입(크기);

예제

  • 컬럼에 이미 데이터가 있는 경우에는 작게 불가능
  • 타입 변경 시에 데이터 손실이 가능하다.
ALTER TABLE MEMBER MODIFY NAME VARCHAR2(100);

4. 컬럼 이름 변경 (RENAME)

컬럼명을 변경할 때 사용한다.

  • 컬럼명을 변경하기때문에 쿼리에 영향을 줄 수 있으므로 주의하자...!
ALTER TABLE MEMBER RENAME COLUMN PHONE TO PHONE_NUMBER;

5. 컬럼 삭제 (DROP)

컬럼 자체를 완전히 삭제한다.

  • 삭제된 컬럼은 복구가 불가능하다.
  • 데이터도 함께 삭제된다.
ALTER TABLE MEMBER DROP COLUMN PHONE_NUMBER;

6. 제약조건 추가 / 삭제

제약조건 추가

ALTER TABLE MEMBER ADD CONSTRAINT PK_MEMBER PRIMARY KEY (MEMBER_ID);

제약조건 삭제

ALTER TABLE MEMBER DROP CONSTRAINT PK_MEMBER;

7. 테이블 이름 변경

  • 테이블 명을 변경하는 것이기 때문에 쿼리에 영향을 줄 수 있다. 주의하자...!
ALTER TABLE MEMBER RENAME TO MEMBER_INFO;

8.  ALTER 문 사용 시 주의사항

  • 자동 COMMIT이 되므로 주의하자.
  • 운영 DB에서는 반드시 검증 후에 사용하자.
  • 컬럼 DROP, MODIFY는 위험하니 주의하자.
  • 백업 필수다.

마무리

ALTER 문은 단순히 테이블 구조를 변경하는 것으로 생각하기 쉽다. 하지만 자주 사용되면서도 가장 신중해야 하는 SQL문 같다. 테이블의 구조를 변경하기 때문에 이미 사용되고 있는 쿼리에 영향을 줄 수 있기 때문에 주의해야 한다.

컬럼 추가나 수정은 비교적 자주 사용되지만 컬럼 타입 변경, 컬럼 삭제, 제약조건 수정 들은 에러까지 이어질 수 있어서 신중히 하자...! ALTER 문을 사용하기 전에 대상 테이블을 정확하게 파악한 후에 사용하자...! 다음 글에서는 DROP, TRUNCATE를 알아보려고 한다. 감사합니다. (_ _)