OracleDB - DDL(ALTER , DROP)

주빈·2022년 4월 19일
0

OracleDB

목록 보기
9/11
post-thumbnail

📘 DDL

데이터 정의 언어로 객체를 만들고(CREATE), 수정하고(ALTER), 삭제하는(DROP)구문

📜 ALTER(바꾸다, 변조하다)

수정 가능한 것

=> 컬럼(추가/수정/삭제), 제약조건(추가/삭제), 이름변경(테이블, 컬럼, 제약조건)


✏ 제약조건 추가 / 삭제

제약조건 추가

=> ALTER TABLE 테이블명 ADD [CONSTRAINT 제약조건명] 제약조건(컬럼명)
                                          [REFERENCES 테이블명[(컬럼명)]]

제약조건 삭제

=> ALTER TABLE 테이블명
     DROP CONSTRAINT 제약조건명;


✏ 컬럼 추가/수정/삭제

컬럼 추가

=> ALTER TABLE 테이블명 ADD(컬럼명 데이터타입 [DEFAULT '값']);

컬럼 수정

=> ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입; (데이터 타입 변경)
     ALTER TABLE 테이블명 MODIFY 컬럼명 DAFAULT '값'; (기본값 변경)

** 데이터 타입 수정 시 컬럼에 저장된 데이터 크기 미만으로 변경할 수 없다.

컬럼 삭제

=> ALTER TABLE 테이블명 DROP 삭제할 컬럼명;
     ALTER TABLE 테이블명 DROP COLUMN (삭제할 컬럼명);

** 테이블에는 최소 1개 이상의 컬럼이 존재해야 되기 때문에 모든 컬럼 삭제 X


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

컬럼명 변경

=> ALTER TABLE 테이블명 RENAME COLUMN 컬럼명 TO 변경명;

제약조건명 변경

=> ALTER TABLE 테이블명 RENAME CONSTRAINT 제약조건명 TO 변경명;

테이블명 변경

=> ALTER TABLE 테이블명 RENAME TO 변경명;


📜 DROP

✏ 테이블 삭제

[작성법]
DROP TABLE 테이블명 [CASCADE CONSTRAINT];

** 외래키 제약조건이 걸린 테이블을 삭제하는 방법

1) 자식 -> 부모 테이블 순서로 삭제하기
2) CASCADE CONSTRAINTS 옵션 사용
   (FK 제약조건으로 인해 삭제가 원래는 불가능하지만, 제약조건을 없애버려서 FK 관계를 해제시킨다.)

profile
누구에게나 필요한 개발자가 꿈

0개의 댓글

관련 채용 정보