프로그래밍/SQL_Oracle

08 _OracleDB SQL : DDL ( ALTER, DROP) 명령어 정리

pupu91 2022. 7. 20. 11:53
반응형

 


DDL : ALTER

 

객체를 수정하는 구문

 

컬럼 추가/삭제/변경 

(행은 DML)

제약조건 추가/삭제/변경 

테이블명 변경

제약조건 이름 변경

 

 


 

1 . 테이블 객체 수정  작성 방법

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

컬럼 추가시 ADD, 삭제는 DROP

 

 

2 . 컬럼 추가, 삭제

  • 테이블에 최소 한 개 이상의 컬럼이 남아있어야 하므로 모든 열을 삭제할 수는 없음
  • 컬럼 삭제 시 참조하고 있는 컬럼이 있다면 삭제할 수 없음
  • 제약 조건도 함께 삭제한다면 컬럼을 삭제할 수 있음
추가
ALTER TABLE DEPT_COPY
ADD (LNAME VARCHAR2(20));

삭제
ALTER TABLE DEPT_COPY
DROP COLUMN LNAME;

 

 

3 . 컬럼 생성 시 DEFAULT 값 지정

ALTER TABLE DEPT_COPY
ADD (CNAME VARCHAR2(20) DEFAULT '한국');

 

 

4. 제약조건 추가 가능

(1) DEPT_COPY2에 PK 제약조건 추가
ALTER TABLE DEPT_COPY2
ADD CONSTRAINT PK_DEPT_ID2 PRIMARY KEY(DEPT_ID);


(2) DEPT_COPY2의 DEPT_TITLE에 UNIQUE 제약조건 추가
ALTER TABLE DEPT_COPY2
ADD CONSTRAINT UN_DEPT_TITLE2 UNIQUE(DEPT_TITLE);


(3) DEPT_COPY2의 DEPT_TITLE에 NOT NULL 제약조건 추가
ALTER TABLE DEPT_COPY2
MODIFY DEPT_TITLE CONSTRAINT NN_DEPT_TITLE2 NOT NULL;
=> NOT NULL 제약조건의 경우 ADD가 아닌 MODIFY 사용

 

5. 제약조건 삭제

◇작성 방법
ALTER TABLE 테이블명
DROP CONSTRAINT 제약조건명;

(1) 제약조건 1개 삭제 시
ALTER TABLE CONST_EMP
DROP CONSTRAINT CK_MARRIAGE;

(2) 제약조건 여러 개 삭제 시
ALTER TABLE CONST_EMP
DROP CONSTRAINT FK_JID
DROP CONSTRAINT FK_MID
DROP CONSTRAINT FK_DID;

(3)NOT NULL 제약 조건 삭제 시 MODIFY 사용
ALTER TABLE CONST_EMP
MODIFY (ENAME NULL, ENO NULL);

 

 

6. 컬럼 자료형 수정 

  • ADD가 아닌 MODIFY사용
  • 컬럼의 크기를 줄이는 경우에는 변경하려는 크기를 초과하는 컬럼 값이 없을 때만 변경할 수
ALTER TABLE DEPT_COPY2
MODIFY DEPT_ID CHAR(3)
MODIFY DEPT_TITLE VARCHAR2(30)
MODIFY LOCATION_ID VARCHAR2(2);

 

 

7. 컬럼 DEFAULT 값 변경

ALTER TABLE DEPT_COPY
MODIFY CNAME DEFAULT '미국';

DERAULT값 별경할 행 INSERT
INSERT
  INTO DEPT_COPY
VALUES
(
  'D0'
, '생산부'
, 'L2'
, DEFAULT
);

 

 

 

8. 컬럼, 제약조건, 테이블 이름 변경

(1) 컬럼 이름 변경
ALTER TABLE 테이블명
RENAME COLUMN 기존컬럼명 TO 변경할컬러명;

(2)제약조건 이름 변경
ALTER TABLE 테이블명
RENAME CONSTRAINT 기존이름 TO 변경할이름;

(3)테이블 이름 변경
ALTER TABLE 테이블명
RENAME TO 변경할이름;

 

 

9. 테이블 삭제

DROP TABLE 테이블명;

 

 


 

ALTER 명령어 정리

 

 

명령어 유형 기능
ALTER RENAME 이름 변경
ALTER ADD 추가
ALTER MODIFY 데이터 유형 또는 크기 변경 /  NULL제약 조건 추가
ALTER DROP 삭제
ALTER READ 읽기 / 쓰기

 

반응형