오라클 데이터베이스에서 컬럼을 추가하는 방법은 상대적으로 간단합니다. 데이터베이스 스키마 변경 작업은 관리자가 수행해야 하며, ALTER TABLE 명령을 사용하여 테이블에 새로운 컬럼을 추가할 수 있습니다. 이 글에서는 오라클에서 컬럼을 추가하는 방법과 몇 가지 주의사항에 대해 다루겠습니다.

1. 오라클에서 컬럼 추가하는 기본 문법
오라클에서 컬럼을 추가하려면, ALTER TABLE 명령을 사용하여 기존 테이블에 새로운 컬럼을 추가합니다. 기본 문법은 다음과 같습니다:
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입;
여기서 테이블명은 컬럼을 추가할 테이블의 이름이고, 컬럼명은 추가하려는 컬럼의 이름, 데이터타입은 컬럼에 저장할 값의 타입을 지정합니다.
예를 들어, EMPLOYEES 테이블에 email이라는 컬럼을 추가하고 싶다면, 다음과 같이 명령을 실행합니다:
ALTER TABLE EMPLOYEES ADD email VARCHAR2(255);
위 SQL 문은 EMPLOYEES 테이블에 email 컬럼을 추가하며, 이 컬럼의 데이터 타입은 VARCHAR2로, 최대 255글자를 저장할 수 있도록 설정됩니다.
2. 기본값 설정과 NOT NULL 제약조건 추가
컬럼을 추가할 때 기본값을 설정하거나 NOT NULL 제약조건을 추가할 수 있습니다. 예를 들어, salary 컬럼에 기본값을 설정하고, NOT NULL 제약을 추가하려면 아래와 같이 쿼리를 작성합니다.
ALTER TABLE EMPLOYEES ADD salary NUMBER(8, 2) DEFAULT 50000 NOT NULL;
위 명령은 salary라는 컬럼을 NUMBER(8,2) 데이터타입으로 추가하고, 기본값을 50,000으로 설정하며, NOT NULL 제약을 추가하여 반드시 값을 입력하도록 강제합니다.
3. 컬럼을 추가할 때의 주의사항
- 기존 데이터와의 호환성: 새 컬럼을 추가할 때 기존 데이터와 호환되지 않는 데이터 타입이나 제약 조건을 추가하지 않도록 주의해야 합니다. 예를 들어, 이미 값이 존재하는 테이블에 NOT NULL 제약을 추가하면, 기존 데이터가 NULL 값을 가질 수 없는 경우 오류가 발생할 수 있습니다. 이 경우, DEFAULT 값을 지정하거나 컬럼을 추가한 후 데이터를 업데이트하여 NULL 값이 없도록 만들어야 합니다.
- 컬럼 추가 후 인덱스나 제약조건 설정: 추가된 컬럼에 인덱스나 제약 조건을 설정하는 것도 중요합니다. 예를 들어, 추가된 컬럼을 자주 검색할 경우 인덱스를 추가하여 성능을 향상시킬 수 있습니다.
CREATE INDEX idx_salary ON EMPLOYEES(salary);
- 성능 고려: 대용량 테이블에 컬럼을 추가할 때는 성능에 영향을 줄 수 있습니다. 컬럼 추가 작업은 테이블의 크기와 데이터 양에 따라 시간이 오래 걸릴 수 있습니다. 가능한 한 트래픽이 적은 시간대에 작업을 수행하는 것이 좋습니다.
4. 여러 컬럼을 한 번에 추가
여러 개의 컬럼을 한 번에 추가하려면, 여러 ADD 절을 한 명령문에 포함시킬 수 있습니다.
예를 들어, EMPLOYEES 테이블에 phone_number와 hire_date 컬럼을 동시에 추가하려면
다음과 같이 작성할 수 있습니다:
ALTER TABLE EMPLOYEES
ADD (phone_number VARCHAR2(15), hire_date DATE);
위의 SQL 문은 EMPLOYEES 테이블에 phone_number와 hire_date 컬럼을 한 번에 추가합니다.
5. 컬럼 추가 후 데이터 업데이트
컬럼을 추가한 후, 기본값이 설정되어 있지 않거나 기존 데이터에 대한 초기값이 필요한 경우 UPDATE 문을 사용하여 컬럼에 값을 채울 수 있습니다.
예를 들어, salary 컬럼을 추가한 후, 모든 직원의 급여를 50,000으로 업데이트하려면 다음과 같이 실행할 수 있습니다:
UPDATE EMPLOYEES SET salary = 50000 WHERE salary IS NULL;
이 명령은 salary 컬럼에 NULL 값이 있는 모든 행에 대해 50000을 입력합니다.
6. 테이블 구조 변경 후 검증
컬럼을 추가한 후에는 테이블의 구조를 확인하여 컬럼이 제대로 추가되었는지 확인할 필요가 있습니다. 테이블의 구조를 확인하려면 DESCRIBE 명령을 사용합니다:
DESCRIBE EMPLOYEES;
이 명령은 EMPLOYEES 테이블의 모든 컬럼을 출력하며, 추가된 컬럼이 제대로 반영되었는지 확인할 수 있습니다.
7. 예제: 오라클에서 컬럼 추가
이제 실제로 컬럼을 추가하는 예제를 살펴보겠습니다.
예제 1: EMPLOYEES 테이블에 birthdate 컬럼을 추가합니다. 이 컬럼은 DATE 데이터타입이며, 기본값을 '2000-01-01'로 설정합니다.
ALTER TABLE EMPLOYEES ADD birthdate DATE DEFAULT TO_DATE('2000-01-01', 'YYYY-MM-DD');
예제 2: EMPLOYEES 테이블에 email 컬럼을 추가하고, NOT NULL 제약을 추가하여 빈 값이 입력되지 않도록 합니다.
ALTER TABLE EMPLOYEES ADD email VARCHAR2(255) NOT NULL;
오라클에서 테이블에 컬럼을 추가하는 방법은 매우 간단하지만, 데이터베이스 설계와 성능을 고려한 주의 깊은 작업이 필요합니다. ALTER TABLE 명령을 통해 새 컬럼을 추가하고, 기본값 설정, 제약 조건 추가, 인덱스 설정 등을 통해 데이터베이스 구조를 효율적으로 변경할 수 있습니다. 대규모 데이터베이스에서는 컬럼 추가 작업을 사전에 충분히 테스트하고, 트래픽이 적은 시간대에 수행하는 것이 좋습니다.
또한, 컬럼 추가 작업이 데이터의 무결성에 영향을 미칠 수 있으므로, 추가 작업 전에 데이터베이스 백업을 수행하고, 테스트 환경에서 충분히 검증하는 것이 중요합니다.
'스마트웹앱콘텐츠전문가 > Oracle' 카테고리의 다른 글
오라클 타임스탬프 포맷 완벽 가이드 (0) | 2025.03.24 |
---|---|
오라클에서 날짜와 시간 데이터를 저장하는 최적의 방법 (0) | 2025.03.24 |
SQL JOIN 완벽 가이드: 다양한 JOIN 종류와 사용법 (0) | 2025.02.27 |
NULL 값을 0으로 대체하는 방법: 오라클 NVL 함수 활용법 (0) | 2025.02.25 |
[2.12]교육(트리거, ERWIN) (0) | 2016.02.12 |