- 데이터베이스 데이터를
보관하고 관리
하기위해 제공되는
여러 객체의생성, 변경, 삭제
관련 기능을 수행DDL
을 실행하면자동으로 COMMIT
되기 때문에 이전에 사용한 DML은영구히 데이터베이스에 반영
-> 🗝️이는ROLLBACK을 통한 실행 취소가 불가능
하다는 것을 의미
- CREATE : 테이블 객체를 생성
- DROP : 테이블 삭제
- ALTER : 테이블 수정, 변경
- TRUNCATE : 테이블 내용 전체 삭제
👍CREATE
CREATE TABLE TBL_CAR( ID NUMBER, BRAND VARCHAR2(100), COLOR VARCHAR2(100), PRICE NUMBER, CONSTRAINT CAR_PK PRIMARY KEY(ID) );
CREATE TABLE TBL_ANIMAL( ID NUMBER PRIMARY KEY, --제약조건의 이름을 설정하지 않고 PK 생성 "TYPE" VARCHAR2(100), --TYPE은 명령어인데 "" 안에 넣으면 문자열처럼 쓸수 있다. AGE NUMBER(3), FEED VARCHAR2(100) );
이미 만들어진 형태의 테이블과 동일한 테이블 생성
CREATE TABLE employees3 AS SELECT * FROM EMPLOYEES e ;
👍DROP 테이블삭제
DROP TABLE TBL_CAR ;
👍ALTER
- 제약조건 삭제 DROP
ALTER TABLE TBL_CAR DROP CONSTRAINT CAR_PK;
- 제약조건 추가 ADD
ALTER TABLE TBL_CAR ADD CONSTRAINT CAR_PK PRIMARY KEY(ID);
- 컬럼 추가 ADD
ALTER TABLE EMPLOYEES2 ADD ( manager_id varchar2(10) );
- 컬럼 자료형 길이 변경 MODIFY
ALTER TABLE EMPLOYEES2 MODIFY ( manager_id varchar2(20) );
- 컬럼 삭제 DROP
ALTER TABLE EMPLOYEES2 DROP COLUMN manager_id;
- 컬럼 명 변경 RENAME COLUMN TO
ALTER TABLE EMP_ALTER RENAME COLUMN HP TO TEL;
- 테이블 이름 변경 RENAME TO
RENAME EMP_ALTER TO EMP_RENAME;
- 이미 생성된 제약조건 이름 변경 RENAME TO
ALTER TABLE TABLE_NOTNULL2 RENAME CONSTRAINT TBLNN_TEL_NN TO TBLNN2_TEL_NN;
👍TRUNCATE
TRUNCATE TABLE TBL_CAR ;
-> TRUNCATE는 데이터 정의어이기 때문데 ROLLBACK 불가
-> 삭제 이후 복구 불가하기 때문에,
WHERE절을 명시한 DELETE 문 사용하는 것이 좋음.