DDL(ALTER, DROP)

MINIMI·2023년 1월 17일
0

ORACLE

목록 보기
8/11
post-thumbnail

10-1. ALTER

1) 정의

  • 객체를 수정하는 구문

2-1) 추가(ADD)

  • 컬럼 추가
ALTER TABLE DEPT_COPY
ADD (LNAME VARCHAR2(20));
  • 컬럼 삭제
ALTER TABLE DEPT_COPY
DROP COLUMN LNAME;
  • 컬럼 생성 시 DEFAULT 값 지정
ALTER TABLE DEPT_COPY
ADD (CNAME VARCHAR2(20) DEFAULT '한국');
  • 컬럼에 제약 조건 추가
ALTER TABLE DEPT_COPY2
ADD CONSTRAINT PK_DEPT_ID2 PRIMARY KEY(DEPT_ID);

NOT NULL은 MODIFIY

ALTER TABLE DEPT_COPY2
MODIFY DEPT_TITLE CONSTRAINT NN_DEPT_TITLE2 NOT NULL;

2-2) 수정(MODIFY)

  • 컬럼 자료형 수정
ALTER TABLE DEPT_COPY2
MODIFY DEPT_ID CHAR(3)
MODIFY DEPT_TITLE VARCHAR2(30)
MODIFY LOCATION_ID VARCHAR2(2);
  • 컬럼의 크기를 줄이는 경우 변경하려는 크기를 초과하는 컬럼 값이 없을 때만 변경 가능
  • DEFAULT값 변경
    • 원래 있던 행의 값을 변경하는 것이 아니라 새로 생기는 행의 DEFAULT 값을 새로 지정한 값으로 설정

2-3) 삭제(DROP)

  • 제약 조건이 있는 컬럼 삭제
ALTER TABLE TB1
DROP COLUMN PK CASCADE CONSTRAINTS;
  • 컬럼 삭제 시 참조하고 있는 컬럼이 있다면 삭제할 수 없다.
  • NOT NULL 조건은 삭제시 MODIFT
ALTER TABLE CONST_EMP
MODIFY (EMAIL NULL, ENO NULL);
  • 테이블 삭제(제약 조건까지 모두)
    DROP TABLE DEPT_TEST CASCADE CONSTRAINTS;

2-4) 이름 변경(RENAME)

  • 컬럼 이름 변경
ALTER TABLE DEPT_COPY3
RENAME COLUMN DEPT_ID TO DEPT_CODE;
profile
DREAM STARTER

0개의 댓글