DB/오라클(Oracle)

오라클 DDL(CREATE, ALTER, RENAME, TRUNCATE, DROP)

푸코잇 2023. 11. 18. 00:10

 

DDL이란?

 

DDL(Data Definition Language)은 데이터 정의어로 테이블 조작 및 제어 관련 쿼리문이다.

종류로는 CREATE, ALTER, RENAME, TRUNCATE, DROP이 있다.

명령어를 수행하자마자 자동 COMMIT이 되어 바로 반영되는 특성이 있다.

즉, ROLLBACK을 통한 실행 취소가 불가능하여 사용에 주의하여야 한다.

 

CREATE

 

  • 테이블 생성
CREATE TABLE 테이블명 (
	컬럼명1 데이터타입(SIZE) [DEFAULT 기본값] [제약조건],
   	컬럼명2 데이터타입(SIZE) [DEFAULT 기본값] [제약조건],
   	컬럼명3 데이터타입(SIZE) [DEFAULT 기본값] [제약조건]
);
CREATE TABLE TBL_CAR(
	ID NUMBER,
	BRAND VARCHAR2(100),
	COLOR VARCHAR2(100),
	CONSTRAINT CAR_PK PRIMARY KEY(ID)
);

 

3개의 칼럼(ID, BRAND, COLOR)을 가진 TBL_CAR 테이블을 생성했다.

기본키(PK)는 ID 칼럼으로 설정하였다.

 

TBL_CAR 테이블 COLUMNS

 

기본키(PK)

 

 

 

오라클 테이블 생성(CREATE TABLE, 제약조건, COMMENT)

오라클 테이블 생성(CREATE TABLE) 오라클에서 테이블을 생성하기 위해서는 CREATE TABLE 명령어를 사용한다. CREATE TABLE 테이블명 ( 컬럼명 데이터타입(SIZE) [DEFAULT 기본값] [제약조건] ); CREATE TABLE 명령어

foco.tistory.com

 

 

ALTER

 

  • 칼럼 추가
ALTER TABLE 테이블명 ADD 칼럼명 데이터타입;
ALTER TABLE TBL_CAR ADD PRICE NUMBER;

 

 

TBL_CAR 테이블에 NUMBER 데이터타입의 PRICE 칼럼 추가.

 

  • 칼럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 칼럼명;
ALTER TABLE TBL_CAR DROP COLUMN PRICE;

PRICE 칼럼 삭제

 

  • 칼럼 정의 변경
ALTER TABLE 테이블명
MODIFY ( 
	칼럼명1 [데이터타입] [DEFAULT 값] [NOT NULL],
    	칼럼명2 [데이터타입] [DEFAULT 값] [NOT NULL]
);
ALTER TABLE TBL_CAR MODIFY (COLOR DEFAULT 'RED' NOT NULL);

COLOR 칼럼 정의 변경

 

  • 칼럼명 변경
ALTER TABLE 테이블명 RENAME COLUMN 기존칼럼명 TO 변경칼럼명;
ALTER TABLE TBL_CAR RENAME COLUMN COLOR TO NEW_COLOR;

칼럼명 변경(COLOR => NEW_COLOR)

 

  • 제약조건 삭제
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명;
ALTER TABLE TBL_CAR DROP CONSTRAINT CAR_PK;

TBL_CAR 제약조건 삭제

 

  • 제약조건 추가
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 제약조건 (칼럼명);
ALTER TABLE TBL_CAR ADD CONSTRAINT CAR_PK2 PRIMARY KEY(ID);

CAR_PK2 제약조건 추가

 

 

RENAME

 

  • 테이블명 변경
RENAME 기존테이블명 TO 변경테이블명;
RENAME TBL_CAR TO TBL_CAR2;

TBL_CAR2로 테이블명 변경

 

 

TRUNCATE

 

  • 테이블의 모든 데이터 삭제
TRUCATE TABLE 테이블명;
SELECT * FROM TBL_CAR2;

TRUNCATE 실행결과

 

 

DROP
  • 테이블 삭제
DROP TABLE 테이블명;
DROP TABLE TBL_CAR2;

DROP 실행결과

 

 

DROP 명령어를 실행하려고 하면 다음과 같이 경고창이 뜬다.

테이블에 저장된 데이터가 함께 삭제되기 때문에 주의해야 한다.

오라클 10g부터는 FLASHBACK 기능을 이용해서 복구할 수 있지만

우리는 DROP 명령어를 이제부터 없다 생각하고 잊어버리도록 하자!!