SQL [ DLL ]

손정훈·2023년 10월 1일

데이터 정의어 (DDL)

대상 : 도메인, 스키마, 테이블, 뷰, 인덱스

명령어

구분DDL 명령어설명
생성CREATE데이터베이스 오브젝트 생성
수정ALTER데이터베이스 오브젝트 변경
식제DROP데이터베이스 오브젝트 삭제
TRUNCATE데이터베이스 오브젝트 내용 삭제

1. 테이블 생성

CREATE TABLE 테이블명 (컬럼명 데이터타입 [제약조건]);
제약조건설명
PRIMARY KEY테이블의 기본 키를 정의
FOREIGN KEY외래 키를 정의
UNIQUE테이블 내에서 유일한 값을 갖도록 제한
NOT NULLNULL 값을 포함하지 않도록 제한
CHECK개발자가 정의하는 제약조건
DEFAULT해당 컬럼의 값이 없으면 기본값으로 설정

2. 테이블 수정

ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 [제약조건]; -> 제약조건 추가
ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입 [제약조건]; -> 제약조건 수정
ALTER TABLE 테이블명 DROP COLUMN 컬럼명; -> 컬럼 삭제

3. 테이블 삭제

DROP TABLE 테이블명
옵션설명
CASCADE참조하는 테이블까지 연쇄적으로 제거
RESTRICT삭제할 테이블을 다른테이블이 참조 중이면 제거하지 않음

4. 테이블 내의 데이터 삭제

TRUNCATE TABLE 테이블명; -> 테이블 내의 데이터 모두 삭제

5. 뷰 생성

CREATE VIEW 뷰이름 AS 조회커리;

6. 뷰 교체

CREATE OR REPLACE VIEW 뷰이름 AS 조회커리;

7. 뷰 삭제

DROP VIEW 뷰이름;

8. 인덱스 생성

CREATE [UNIQUE] INDEX 인덱스명 ON 테이블명(컬럼명1, 컬럼명2);

9. 인덱스 수정

ALTER [UNIQUE] INDEX 인덱스명 ON 테이블명(컬럼명1, 컬럼명2);

10. 인덱스 삭제

DROP INDEX 인덱스명;

0개의 댓글