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
반응형
'Database > OracleSQL' 카테고리의 다른 글
Oracle / 두개의 테이블 Join 하기 /INNER / OUTER / LEFT / RIGHT / FULL /inner Join 과 outer Join 차이점 (0) | 2021.06.11 |
---|---|
테이블에 데이터 추가하기 / Insert into (0) | 2021.06.11 |
Oracle/ 다른PC에서 데이터베이스 접속시 방화벽 설정하기 (0) | 2021.06.03 |