SQL :: Oracle :: DDL(ALTER, DROP)

김병철·2022년 9월 14일
0

SQL

목록 보기
7/11

ALTER

객체 구조를 수정하는 구문

ALTER TABLE 테이블명 수정할 내용;

1) 컬럼 추가/수정/삭제
2) 제약조건 추가/삭제 ->수정은 불가능(수정하려면 삭제 후 추가)
3) 테이블명/컬럼명/제약조건명 수정

컬럼 추가

ALTER TABLE DEPT_COPY ADD CNAME VARCHAR2(20);

ALTER TABLE DEPT_COPY ADD LNAME VARCHAR2(20) DEFAULT '기본값';

컬럼 수정

ALTER TABLE DEPT_COPY MODIFY DEPT_ID CHAR(3);

ALTER TABLE DEPT_COPY
MODIFY DEPT_TITLE VARCHAR2(40)
MODIFY LOCATION_ID VARCHAR2(2)
MODIFY LNAME DEFAULT '미국';

컬럼 삭제

ALTER TABLE DEPT_COPY2 DROP COLUMN DEPT_ID;

제약조건 추가

  • PRIMARY KEY : ADD PRIMARY KEY(컬럼명);

  • FOREIGN KEY : ADD FOREIGN KEY(컬럼명) REFERENCES 참조할 테이블명(참조컬럼명) - 참조할 컬럼명은 생략가능

  • UNIQUE : ADD UNIQUE(컬럼명);

  • CHECK : ADD CHECK(컬럼에 대한 조건);

  • NOT NULL : MODIFY 컬럼명 NOT NULL;

제약조건명 부여

CONSTRAINT 제약조건명  (제약조건 앞에 작성)

제약조건명 생략 가능
현재 계정 내에서 고유한 이름이어야 한다.

  • 예시 :
ALTER TABLE DEPT_COPY
ADD CONSTRAINT DCOPY_PK PRIMARY KEY(DEPT_ID)
ADD CONSTRAINT DCOPY_UQ UNIQUE(DEPT_TITLE)
MODIFY LNAME NOT NULL;

제약조건 삭제

PRIMARY KEY,FOREIGN KEY,UNIQUE,CHECK : DROP CONSTRAINT 제약조건명;
NOT NULL : MODIFY 컬럼명 NULL;

컬럼명/제약조건명/테이블명 변경

  • 컬럼명 변경 : RENAME COLUMN 기존컬럼명 TO 바꿀 컬럼명
ALTER TABLE DEPT_COPY RENAME COLUMN DEPT_TITLE TO DEPT_NAME;
  • 제약조건명 변경 : RENAME CONSTRAINT 기존제약조건명 TO 바꿀 제약조건명
ALTER TABLE DEPT_COPY RENAME CONSTRAINT SYS_C007654 TO LOCATION_ID_NN;
  • 테이블명 변경 : RENAME TO 바꿀테이블명
ALTER TABLE DEPT_COPY RENAME TO DEPT_TEST;

DROP

객체를 삭제하는 구문

DROP TABLE 삭제하고자하는 테이블명;
profile
keep going on~

0개의 댓글