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 |