본문 바로가기
Database/OracleSQL

Oracle / 테이블에 컬럼 추가하기 / Alter table

by hyeon-H 2021. 6. 11.
728x90
반응형

이미 생성된 테이블에 컬럼을 추가 할때에는 데이터 정의 언어 Alter table문을 사용한다.

데이터 정의 언어 (DDL : Data Definition Language)
데이블이나 관계의 구조를 생성하는 사용하며, Create, Alter, Drop, Truncate 문 등이 있다. 

 

Create table Atable(
    name varchar2(10) not null,
    email varchar2(30) not null
);

위와 같이 테이블을 만들었는데 기본키로 지정될 컬럼이 있지 않아서, 테이블이 생성된 이후에 컬럼을 추가하려고 한다.

 

alter table 테이블명 add 컬럼명 타입 제약조건;

alter table Atable add aidx number not null;

여기서 주의할점은 Atable에 아래와 같이 데이터가 이미 들어가 있는 상태에서,
해당 테이블에 새로운 컬럼의 제약조건을 not null로 넣어준다면 오류가 발생한다.
(새로 들어가는 컬럼의 제약조건은 NOT NULL인데 기존에 데이터에는 새로 들어가는 컬럼의 데이터값이 없기 때문이다.)
그래서 해당하는 테이블에 데이터가 없어야지만 새로운 컬럼을 넣어 줄 수 있다.

 

 

(이미 많은 양의 데이터가 있다면 컬럼을 추가할때 제약조건을 NULL로 입력뒤 컬럼이 추가된 뒤에 컬럼값을 입력하고, 제약조건을 다시 NOT NULL로 바꾸는 방법도 있다.)

728x90
반응형