db/oracle

오라클 테이블 컬럼 추가, 변경, 삭제 (alter table)

C/H 2008. 9. 9. 13:58
* 테이블 생성
create table test (
  idx number not null;
);
* 테이블 명 변경
rename after_table to before_table;
* 테이블 정보
desc test;
* 테이블에 addField 컬럼 추가
alter table test add(addField number(10)); 
-- #(추가될 COLUMN 의 위치는 지정할 수 없다. 새로운 COLUMN 은 마지막 위치에 생성된다.)
* 테이블 addField 컬럼명을 modifyField 컬럼명으로 변경
alter table test rename column addField to modifyField;
-- #COLUMN 의 크기를 확장할 수 있다.
-- #데이타가 들어있지 않으면 COLUMN 의 크기를 줄일 수 있다.
-- #데이타가 들어있지 않다면 COLUMN 의 타입을 수정할 수 있다.
-- #COLUMN 에 NULL 값이 없다면 NOT NULL CONSTRAINT 를 지정할 수 있다.
-- #DEFAULT VALUE 를 변경할 수 있다.
-- #이미 생성되어 있는 COLUMN 을 변경한다
* Constraint 추가
-- #이미 생성되어 있는 TABLE 에 CONSTRAINT 를 추가한다.
ALTER TABLE table_name
ADD (table_constraint);
ALTER TABLE S_EMP ADD (CONSTRAINT S_EMP_MANAGER_ID_FK FOREIGN KEY(MANAGER_ID)
REFERENCES S_EMP(ID));
* Constraint 삭제
-- #이미 생성되어 있는 TABLE 의 CONSTRAINT 를 삭제한다.
ALTER TABLE table_nameDROP PRIMARY KEY |
UNIQUE(column_name) |
CONSTRAINT constraint_name [CASCADE];
ALTER TABLE S_EMP
DROP CONSTRAINT S_EMP_MANAGER_ID_FK;
* 테이블 modifyField의 컬럼 데이터 타입 변경
alter table test modify(modifyField varchar(10)); 
* 테이블 modifyField 컬럼 삭제
alter table test drop(modifyField); 
참고 : http://blog.naver.com/neptuneosy


반응형

'db > oracle' 카테고리의 다른 글

Oracle Sequence  (0) 2008.09.24
오라클 내장함수  (0) 2008.09.09
오라클 숫자, 문자, 날짜 형식 및 변환  (0) 2008.09.09
ORACLE OCI8함수  (0) 2006.11.20
Oracle Wait Event 모니터링  (0) 2006.11.17