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를 알아보려고 한다. 감사합니다. (_ _)
'오라클' 카테고리의 다른 글
| [오라클] DELETE vs DROP vs TRUNCATE 완벽 정리 (0) | 2026.01.16 |
|---|---|
| [오라클] DROP 문 완벽 정리 (1) | 2026.01.15 |
| [오라클] CREATE 문 완벽 정리 (0) | 2026.01.13 |
| [오라클] ROW_NUMBER() 완벽 정리(ROWNUM과 차이) (0) | 2026.01.12 |
| [오라클] WITH절(Subquery Factoring) 완벽 정리 (1) | 2026.01.10 |