Notice
Recent Posts
Recent Comments
관리 메뉴

Developer Gonie

[6주차] 12. ALTER, 컬럼 추가/삭제 혹은 컬럼의 타입, 이름 수정** 본문

K-DigitalTraining 강의/2. Oracle + PLSQL

[6주차] 12. ALTER, 컬럼 추가/삭제 혹은 컬럼의 타입, 이름 수정**

이대곤 2022. 6. 14. 09:33

* 모든 alter 명령은 한 번 실행하면 rollback 명령을 사용할 수 없음(자동으로 commit 까지 되므로)

1. 컬럼타입 추가 : alter table - add 

* default를 지정하지 않으면 컬럼은 추가하나 값은 추가하지 않으므로 값을 추가하고자 한다면 update 명령어를 사용해야한다.

* default 값으로는 salary*12 등의 기존에 존재하는 컬럼을 이용한 연산을 할당할 수 없다.
  값을 초기화 해주고 싶다면 컬럼 추가 후, update 로 값을 넣어주는게 낫다. 

alter table 테이블명 add(컬럼명 타입);

-- 컬럼을 추가하며, 추가한 컬럼의 값을 전부 기본값으로 채워지게 하는 명령
alter table 테이블명 add(컬럼명 타입 default 기본값);

-- 위의 기능 + 컬럼에 들어갈 수 있는 값을 미리 제한(insert 시 해당 컬럼에 대해 check 조건에 맞는 값만 가능)
alter table 테이블명 add(컬럼명 타입 default 기본값 check(컬럼명 in(값1,값2,)));
alter table 테이블명 add(컬럼명 타입 default 기본값 check(컬럼명=값1 or 컬럼명=값2 or ..));

alter table 테이블명 add(컬럼명 타입 default 기본값 check(컬럼명 between 값1 and 값2));

2. 컬럼 삭제 : alter table - drop column

alter table 테이블명 drop column 삭제할컬럼명;

3. 컬럼타입 변경 : alter table - modify

alter table 테이블명 modify(컬럼명 타입);

4. 컬럼이름 변경 : alter table - rename column

alter table 테이블명 rename column 옛날컬럼명 to 새컬럼명;

사용예시

-- phone 컬럼 추가
alter table members add(phone varchar2(13));

alter table members add(gender varchar2(6) default '남자');

alter table members add(gender varchar2(6) default '남자' check(gender in('남','여',)));

alter table members add(gender varchar2(6) default '남자' check(gender='남' or gender='여'));

alter table members add(kor number check(kor between 30 and 50));
-- phone 컬럼 삭제
alter table members drop column phone;
-- phone 컬럼의 타입 변경
alter table members modify(phone varchar2(20));
-- phone 컬럼의 이름 변경
alter table members rename column phone to ph;
Comments