본문 바로가기
Back/DB

DDL(Data Definition Language)

by 프로그래밍 공부 2023. 4. 4.

 DDL은 테이블 등의 데이터 객체를 활용할 때 사용되는 데이터 정의 언어이다.

 

명령어로는 

 

-CREATE

 

-ALTER

 

-DROP

 

-RENAME 

 

을 들 수 있다.

 

CREATE는 말 그대로 새로운 데이터 베이스나 테이블을 만들 때 사용하는 명령어이다.

 

데이터 베이스를 생성할 때는 관리자 권한으로 생성해야 하며, 

 

데이터 베이스를 생성한 후에는 SHOW DATABASES; 와 같은 명령어를 통해서

 

데이터 베이스의 목록을 확인할 수도 있다.

 

또한 데이터 베이스를 생성 할 때, 문자의 인코딩 규칙이 정의된 집합인 문자 집합을 설정할 수 있다.

 

CHARACTER SET 명령어를 통해 ASCII, EUC-KR, UTF-8 등의 인코딩 규칙을 설정할 수 있기 때문에 

 

필요에 따라 설정을 실행할 수 있고,

 

정렬방식이나 문자 집합으로 인코딩된 문자들 사이에서 비교를 할 때 사용하는 규칙 집합을 

 

COLLATE 명령어로 설정할 수 있다.

 

또 테이블을 생성할 때는 제약 조건을 걸 수 있는데, 

 

제약 조건에는 NOT NULL(null값 허용 X), UNIQUE(중복값 X), PRIMARY KEY(기본키)

 

FOREIGN KEY(외래키(특정 테이블 PK 컬럼에 저장되어 있는 값만 저장)), 

 

DEFAULT(해당 열에 값이 입력되지 않으면 기본으로 넣어줄 값 지정), CHECK(값의 범위나 종류를 지정)

 

등이 있다.

 

 

ALTER는 데이터 베이스나 테이블을 변경할 때 쓸 수 있는 명령어이다.

 

예를 들어 특정 테이블에 특정 컬럼의 데이터 타입을 추가하려고 한다면

 

ALTER TABLE TMP_TABLE ADD TMP_COL VARCHAR(40) NULL;

 

이런 식으로 작성이 가능하다.

 

추가를 포함한 삭제, 변경 등의 기능도 ALTER를 통해 가능하다.

 

 

DROP은 삭제 기능을 사용할 수 있는 명령어이다.

 

데이터 베이스의 모든 테이블과 데이터 베이스 자체를 삭제할 수 있다.

 

다만 삭제를 실행할 때는 DROP DATABASE 권한이 필요하다.

 

여기서 DROP DATABASE는 DROP SCHEMA와 같은 기능이다.

 

하지만 DROP도 지우려는 데이터 베이스가 없을 경우 에러가 발생할 수 있다.

 

따라서 DROP을 통해 있을지 없을지 모르는 데이터 베이스를 지우려고 할 때는

 

DROP DATABASE IF EXISTS DB 

 

와 같은 방법으로 명령을 실행할 수 있다.

 

IF EXISTS는 말 그대로 만약 DB라는 데이터베이스가 존재한다면, 이라는 조건이기 때문이다.

 

 

라고 이해했다.

'Back > DB' 카테고리의 다른 글

DML(Data Manipulation Language)  (0) 2023.04.04
SQL(Structed Query Language)  (0) 2023.03.14
관계형 데이터 베이스 (Relational DB)  (0) 2023.03.14
Data Base  (0) 2023.03.14