웹 프로그래밍

컬럼 추가, 삭제, 수정, 변경(ALTER) - Oracle 본문

DB(SQL)/oracle

컬럼 추가, 삭제, 수정, 변경(ALTER) - Oracle

B. C Choi 2023. 2. 9. 21:04

아래 예제는 위 사진의 테이블을 사용했습니다.

 

 

▶ 테이블에 컬럼을 추가하는 방법(ADD)

1. 문법

ALTER TABLE 테이블명 ADD 컬럼명 데이터타입;
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 DEFAULT ''; 				// DEFAULT는 생략 가능
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 DEFAULT '' NOT NULL;			// NOT NULL은 생략 가능

 

2. 예제

 

1)  ALTER TABLE TB_TEST ADD COL_TEST VARCHAR2(10);

- 컬럼이 추가되면서 기존 데이터는 default로 null 값이 들어간다.

 

 

2)  ALTER TABLE TB_TEST ADD COL_TEST VARCHAR2(10) DEFAULT 'test';

- 컬럼이 추가되면서 기존 데이터는 default로 설정한 default 값이 들어간다.

 

 

3)  ALTER TABLE TB_TEST ADD COL_TEST VARCHAR2(10) DEFAULT 'test' NOT NULL;

- 기존 데이터는 2번과 동일하지만 컬럼 추가 후 새롭게 데이터가 추가될 때 null이 들어갈 수 없다.

 

 

4)  ALTER TABLE TB_TEST ADD COL_TEST VARCHAR2(10) NOT NULL;

- default를 설정하지 않으면 기존 데이터는 null 값이 들어가는데 NOT NULL 옵션을 사용했을 경우

  테이블에 데이터가 없으면 상관없지만 1개 이상이라도 있을 경우 에러가 발생한다.

 

 


 

▶ 테이블에 컬럼을 삭제하는 방법(DROP)

1. 문법

ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

 

2. 예제

 

1)  ALTER TABLE TB_TEST DROP COLUMN COL_NUMBER;

- 기존에 NULL 또는 임의의 값이 들어있어도 해당 컬럼을 삭제한다.

 

 


 

▶ 테이블에 컬럼을 수정하는 방법(MODIFY)

1. 문법

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

 

2. 예제

1) ALTER TABLE TB_TEST MODIFY(COL_STRING VARCHAR2(20));

 

 

- 기존 데이터 보다 큰 경우 상관없지만 1개의 데이터라도 작은 경우가 있다면 에러가 발생한다.

 

2)  ALTER TABLE TB_TEST MODIFY(COL_STRING NUMBER(10));

- 기존에 데이터가 없으면 데이터 타입이 변경되지만 데이터가 1개 이상일 경우 에러가 발생한다.

 

 


 

▶ 테이블에 컬럼을 수정하는 방법(RENAME)

1. 문법

ALTER TABLE 테이블명 RENAME COLUMN 컬럼명 TO 변경할컬럼명;

 

2. 예제

1)  ALTER TABLE TB_TEST RENAME COLUMN COL_STRING TO COL_STRING2;