- ALTER
- DROP
- RENAME
테이블을 수정하거나 삭제하는 구문이다.
테이블을 수정한다.
제약 조건 수정은 다음과 같다.
-- DEPT_COPY 테이블에 PK 추가
ALTER TABLE DEPT_COPY ADD CONSTRAINT PK_DEPT_COPY PRIMARY KEY(DEPT_ID);
-- DEPT_COPY 테이블의 DEPT_TITLE 컬럼에 NOT NULL 제약조건 추가
ALTER TABLE DEPT_COPY MODIFY DEPT_TITLE NOT NULL;
중요한 점은 NOT NULL 제약조건 설정만 MODIFY 를 사용해야 한다.
컬럼 수정은 다음과 같다.
-- DEPT_COPY 컬럼에 CNAME VARCHAR2(20) 컬럼 추가
ALTER TABLE DEPT_COPY ADD(CNAME VARCHAR2(20));
-- DEPT_COPY 테이블의 DEPT_ID 컬럼의 데이터 타입을 VARCHAR2(3) 변경
ALTER TABLE DEPT_COPY MODIFY DEPT_ID VARCHAR2(3);
DML 을 수행하여 트랜잭션에 변경사항이 저장된 상태에서 COMMIT 또는 ROLLBACK 없이 DDL 구문을 수행하게되면 DDL 수행과 동시에 선행 DML 이 자동으로 COMMIT 되어버린다.
따라서 DML 과 DDL 을 혼용해서 사용하지 않도록 한다.
테이블을 삭제한다.
DROP TABLE DEPT_COPY;
컬럼이나 제약조건 및 테이블 이름을 변경한다.
-- 1) 컬럼명 변경
ALTER TABLE DEPT_COPY RENAME COLUMN DEPT_TITLE TO DEPT_NAME;
-- 2) 제약조건명 변경
ALTER TABLE DEPT_COPY RENAME CONSTRAINT PK_DCOPY TO DEPT_COPY_PK;
-- 3) 테이블명 변경
ALTER TABLE DEPT_COPY RENAME TO DCOPY;