DDL은 테이블과 열을 조작하기 위한 언어 입니다.
테이블과 관련 열을 생성하고 변경하고 삭제하는 명령어를 데이터 정의어라고 합니다.
CREATE TABLE 명령어는 새로운 테이블을 생성할때 사용합니다.
■ 동일한 사용자가 동일한 이름의 테이블을 중복해서 생성할 수 없습니다. 또한 테이블 안의 열 이름도 동일한 이름으로 생성할 수 없습니다.
■ SELECT, FROM, COUNT와 같은 예약어는 사용할 수 없습니다.
■ 테이블 이름은 문자로 시작합니다. 한글과 특수문자도 사용할 수 있지만 시스템을 운영할 때 문제가 발생할 수 있으므로 권장하지 않습니다.
■ 문자 길이는 1~30바이트 이내여야 합니다.
이미 생성한 테이블에 열을 추가, 변경, 삭제 할 수 있습니다.
ALTER TABLE 명령어에 ADD 절을 사용하여 열을 추가합니다
■ 새로운 열을 추가할 수 있지만 테이블에 있던 기존의 열은 삭제할 수 없습니다.
■ 새로 생성되는 열은 위치를 지정할 수 없습니다(테이블의 마지막에 위치합니다).
■ 테이블에 이미 행이 있다면 열을 추가했을 때 새로운 열의 데이터 값은 null로 초기화됩니다.
ALTER TABLE ~ MODIFY 절을 사용하여 열의 정의를 수정할수있습니다.
ALTER TABLE ~ RENAME COLUMN 을 사용하면 열이름을 바꿀수 있습니다.
ALTER TABLE ~ DROP COLUMN 을 사용하면 열을 삭제 할수있습니다.
TRUNCATE TABLE 명령어는 테이블 데이터를 모두 삭제하고 사용하던 기억 공간도 전부 삭제 합니다.
DROP TABLE 명령어는 테이블을 완전 삭제 합니다.
■ 테이블의 모든 구조와 데이터가 삭제됩니다.
■ DDL 명령어이므로 트랜잭션이 자동으로 커밋됩니다.
■ 모든 인덱스와 제약 조건이 삭제됩니다.
| 구분 | DELETE | TRUNCATE | DROP |
|---|---|---|---|
| 명령어 | DELETE | TRUNCATE | DROP |
| 구분 | DML | DDL | DDL |
| 기능 | 데이터만 삭제 | 테이블 구조만 남겨 두고 데이터 삭제(데이터, 인덱스, 테이블 공간 삭제) | 테이블 포함 전체 삭제(데이터, 인덱스, 테이블 공간, 테이블 삭제) |