데이터베이스 컬럼 관리는 모든 프로젝트에서 빼놓을 수 없는 작업입니다. 이 글에서는 Oracle과 Tibero에서 ALTER TABLE
로 컬럼을 추가·수정·삭제·조회하는 방법을 단계별로 소개하고, 실무에 바로 쓸 수 있는 SQL 예제와 안전한 작업 팁을 함께 전해드립니다.
데이터베이스 컬럼 관리 개념 소개
- 목적 : 테이블 구조 변경(DDL 작업) 중 컬럼 관련 조작을 수행
- 주의점 : 컬럼 삭제·타입 변경 시 데이터 손실 가능 → 작업 전 백업 필수
- 미러 DB가 있을 경우라도, 작업 전 꼭 백업은 필수입니다.
- Oracle & Tibero : 문법 동일, 일부 데이터 타입만 차이
Oracle 쿼리 예제
데이터베이스 컬럼 추가
ALTER TABLE goods_table ADD (reg_date DATE); -- NULL 허용 기본값
ALTER TABLE goods_table ADD reg_date DATE NOT NULL;
SQLADD
로 새 컬럼 추가NULL
허용 기본값,NOT NULL
은 별도 지정 필요
데이터베이스 컬럼 수정
ALTER TABLE goods_table MODIFY (reg_date TIMESTAMP);
SQL- 데이터 타입 변경
- 크기 변경 시 기존 데이터 호환성 확인
- 이미 등록된 기존 데이터와 변경할 데이터 타입을 확인하면 됩니다.
- 기존 데이터가 필요 없는 경우는 컬럼 삭제 후 다시 추가하는 방법도 추천해 드립니다.
데이터베이스 컬럼 삭제
ALTER TABLE goods_table DROP COLUMN reg_date;
SQL- 완전 삭제, 복구 불가. 신중하게 삭제
- 많은 데이터가 있는 경우 시간 소요 가능
- RollBack이 불가능 하므로, 신중하게 삭제 요망
데이터베이스 컬럼 조회
SELECT column_name, data_type, data_length
FROM user_tab_columns
WHERE table_name = 'GOODS_TABLE';
SQLUSER_TAB_COLUMNS
뷰 사용- 대문자 테이블명 주의
Tibero 쿼리 예제
Tibero도 동일한
ALTER TABLE
구문 사용, 차이점은 데이터 타입 네이밍 일부와 환경 차이뿐.
데이터베이스 컬럼 추가
ALTER TABLE user_table ADD (phone VARCHAR2(20));
SQL데이터베이스 컬럼 수정
ALTER TABLE user_table MODIFY (phone VARCHAR2(30));
SQL데이터베이스 컬럼 삭제
ALTER TABLE user_table DROP COLUMN phone;
SQL데이터베이스 컬럼 조회
SELECT column_name, data_type, data_length
FROM user_tab_columns
WHERE table_name = 'USER_TABLE';
SQL실무 팁
- 컬럼 삭제·타입 변경 전 데이터 백업 필수
- 대규모 테이블은 작업 시간과 락(Lock) 고려
- 컬럼 이름 변경은
RENAME COLUMN
사용 가능
마무리
Oracle과 Tibero 모두 ALTER TABLE
을 활용해 손쉽게 컬럼을 추가, 수정, 삭제할 수 있습니다. 다만, 타입 변경·컬럼 삭제 시 데이터 손실 가능성이 크므로 사전 점검과 백업이 필수입니다. 본문 예제를 그대로 적용하면 실무에서도 안정적으로 컬럼 관리를 수행할 수 있습니다.