by 구루비 ALTER TABLE DROP TABLE TRUNCATE ADD MODIFY MOVE TABLESPACE TRUNCATE [2002.01.20]
테이블의 컬럼은 ADD, MODIFY, DROP연산자를 통해서 관리 할 수 있습니다.
테이블에 새로운 컬럼을 추가 할 때 사용 한다.
-- VARCHAR2의 데이터 형을 가지는 addr 컬럼을 emp 테이블에 추가 SQL> ALTER TABLE emp ADD (addr VARCHAR2(50));
테이블의 컬럼을 수정 하거나 NOT NULL컬럼으로 변경 할 수 있으며, 컬럼이 이미 테이터를 가지고 있을 경우 다른 데이터형으로 변경이 불가능 하다.
-- ename 컬럼을 VARCHAR2 50자리로 수정한 예제. SQL> ALTER TABLE emp MODIFY (ename VARCHAR2(50)); SQL> ALTER TABLE emp MODIFY (ename VARCHAR2(50) NOT NULL);
테이블 컬럼을 삭제 하거나, 테이블의 제약 조건을 삭제 할 때 사용 한다.
-- 컬럼의 삭제 문법 SQL> ALTER TABLE table_name DROP COLUMN column_name -- 제약 조건의 삭제 예제 SQL> ALTER TABLE emp DROP PRIMARY KEY ; -- CASCADE 연산자와 함께 사용하면 외래키에 의해 참조되는 기본키도 삭제 할 수 있다. SQL> ALTER TABLE emp DROP CONSTRAINT emp_pk_empno CASCADE;
- 기존 테이블을 부분, 또는 완전히 복사할 때에 서브쿼리를 가진 CREATE TABLE 명령어를 사용해서 쉽게 복사 할 수 있다.
- 하지만 제약 조건, 트리거, 그리고 테이블 권한은 새로운 테이블로 복사되지 않는다.
- 제약조건은 NOT NULL 제약 조건만 복사 된다.
-- 한번 실습해 보세요. SQL> CREATE TABLE emp2 AS SELECT * FROM emp;
Oracle 8i부터는 ALTER TABLE ~ MOVE TABLESPACE 명령어로 쉽게 테이블의 테이블스페이스를 변경 할 수 있다.
-- 한번 실습해 보세요. (test라는 테이블스페이스가 있어야 겠죠) SQL> ALTER TABLE emp MOVE TABLESPACE test;
-- emp 테이블 삭제 SQL> DROP TABLE emp; -- CASCADE CONSTRAINT는 외래키에 의해 참조되는 기본키를 포함한 테이블일 경우 -- 기본키를 참조하던 외래 키 조건도 같이 삭제 한다. SQL> DROP TABLE emp CASCADE CONSTRAINT;
- 강좌 URL : http://www.gurubee.net/lecture/1014
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.