(→개요) |
(→개요) |
||
5번째 줄: | 5번째 줄: | ||
|내용= | |내용= | ||
'''ALTER TABLE'''은 오라클 데이터베이스에서 기존 테이블의 구조를 변경하는 DDL(Data Definition Language) 명령어입니다. | '''ALTER TABLE'''은 오라클 데이터베이스에서 기존 테이블의 구조를 변경하는 DDL(Data Definition Language) 명령어입니다. | ||
:테이블 생성 후 다양한 수정 작업을 수행할 수 있습니다. | : 테이블 생성 후 다양한 수정 작업을 수행할 수 있습니다. | ||
}} | }} | ||
2025년 5월 27일 (화) 00:12 기준 최신판
- 오라클 ALTER TABLE 문
개요
menu_book ALTER TABLE은 오라클 데이터베이스에서 기존 테이블의 구조를 변경하는 DDL(Data Definition Language) 명령어입니다.
- 테이블 생성 후 다양한 수정 작업을 수행할 수 있습니다.
주요 기능
- 컬럼 추가/삭제/수정
- 제약조건 추가/삭제/활성화/비활성화
- 테이블 이름 변경
- 테이블스페이스 이동
- 파티션 관리
- 스토리지 파라미터 변경
기본 구문 구조
ALTER TABLE table_name [ADD (column_definition | constraint_definition)] [MODIFY (column_definition)] [DROP (COLUMN column_name | CONSTRAINT constraint_name)] [RENAME TO new_table_name] [other_options];
ALTER TABLE 유형
컬럼 추가
-- 단일 컬럼 추가 ALTER TABLE employees ADD (email VARCHAR2(100)); -- 여러 컬럼 추가 ALTER TABLE employees ADD ( phone VARCHAR2(20), hire_date DATE DEFAULT SYSDATE );
컬럼 수정
-- 데이터 타입 변경 ALTER TABLE employees MODIFY (email VARCHAR2(150)); -- DEFAULT 값 변경 ALTER TABLE employees MODIFY (hire_date DEFAULT CURRENT_DATE); -- NULL 허용 변경 ALTER TABLE employees MODIFY (phone NOT NULL);
컬럼 삭제
-- 단일 컬럼 삭제 ALTER TABLE employees DROP COLUMN email; -- 여러 컬럼 삭제 ALTER TABLE employees DROP (phone, hire_date);
제약조건 관리
-- 기본키 추가 ALTER TABLE employees ADD CONSTRAINT emp_pk PRIMARY KEY (emp_id); -- 외래키 추가 ALTER TABLE employees ADD CONSTRAINT dept_fk FOREIGN KEY (dept_id) REFERENCES departments(dept_id); -- 제약조건 삭제 ALTER TABLE employees DROP CONSTRAINT emp_pk; -- 제약조건 비활성화 ALTER TABLE employees DISABLE CONSTRAINT dept_fk; -- 제약조건 활성화 ALTER TABLE employees ENABLE CONSTRAINT dept_fk;
테이블 이름 변경
ALTER TABLE employees RENAME TO staff;
컬럼 이름 변경
ALTER TABLE employees RENAME COLUMN emp_id TO employee_id;
테이블스페이스 이동
ALTER TABLE employees MOVE TABLESPACE new_tablespace;
고급 기능
파티션 테이블 수정
-- 파티션 추가 ALTER TABLE sales ADD PARTITION p_2024 VALUES LESS THAN (TO_DATE('2025-01-01', 'YYYY-MM-DD')); -- 파티션 삭제 ALTER TABLE sales DROP PARTITION p_2020;
LOB 컬럼 스토리지 변경
ALTER TABLE documents MODIFY LOB(resume) ( STORAGE (NEXT 10M) CHUNK 16K );
읽기 전용/쓰기 가능 설정
-- 읽기 전용으로 변경 ALTER TABLE employees READ ONLY; -- 쓰기 가능으로 변경 ALTER TABLE employees READ WRITE;
주의사항
- 대부분의 ALTER TABLE 작업은 테이블 잠금을 발생시킴
- 데이터 타입 변경 시 기존 데이터와 호환성 확인 필요
- 제약조건 추가 시 기존 데이터가 조건을 만족하는지 확인
- 프로덕션 환경에서는 사용량이 적은 시간대에 수행 권장