컴퓨터/MySQL

MySQL (3) - DDL, DML, DCL 이란?

달서비 2022. 3. 24. 14:50

데이터베이스에는 다양한 명령어가 있습니다. 명령어의 구분에 대하여 알아보겠습니다. 2편에 select에 대하여 기능적인 설명을 하였으나 이 개념은 설명이 필요해 이렇게 적습니다. (중요한 개념인데 이제 설명을 하네요...)

여기서는 간략하게 설명하려고 합니다.

database - pixabay

DDL

DDL은 Data Definition Language의 약자로 한글로 데이터 정의어라고 합니다. 데이터의 구조를 정의하는 데 사용하는 명령어 (생성, 변경, 삭제, 이름변경)등을 하기 위한 명령어입니다.

  • Create - 테이블을 생성한다.
  • Alter - 테이블을 수정한다.
  • Drop - 테이블을 삭제한다.
  • Rename - 테이블의 이름을 변경한다.
  • Truncate - 테이블 안에 있는 데이터를 전체 삭제한다. (Drop과 다르게 테이블은 유지한다.)

 

DML

DML은 Data Manipulation Language의 약자로 한글로 데이터 조작어입니다. DB안에 있는 데이터를 조회하거나 데이터에 변형을 할 수 있는 명령어입니다.

  • Select - 데이터를 검색한다.
  • Insert - 데이터를 생성한다.
  • Update - 데이터를 수정한다.
  • Delete - 데이터를 지운다.

DDL과 DCL은 테이블에서 다루는 것과 데이터를 다루는 것에 차이점이 있습니다.

 

DCL

DCL은 Data Control Language의 약자로 데이터 제어어입니다. DB에 접근하고 객체들을 사용할 수 있도록 하는 권한을 주고 회수하는 명령어입니다.

  • Grant - 권한을 부여한다.
  • Revoke - 권한을 회수한다.

 

TCL

TCL은 Transaction Control Language의 약자로 트랜젝션 제어어 입니다. 참고로 트랜젝션이란 작업의 제어 단위입니다. 데이터베이스가 많은 작업, 동시 작업을 하게 되는 경우 제어가 필요합니다.

  • Commit -  변경된 데이터를 테이블에 영구적으로 반영한다.
  • Rollback - 데이터 변경을 취소하여 데이터를 이전 상태로 복구한다.
  • Savepoint - 롤백은 이전의 데이터 변경을 취소한다면 savepoint는 저장 위치를 정의한 곳까지 돌아간다.