📌 DDL (Data Definition Language)
- 데이터 정의어로 database를 정의하는 언어이며, 데이터를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할을 하는 언어이다. 즉, database, table 등을 생성하거나 삭제하는 역할을 한다.
- 종류
- CREATE : 테이블 등을 생성하는 역할
- ALTER : 테이블을 수정하는 역할
- DROP : 테이블을 삭제하는 역할
- TRUNCATE : 테이블을 초기화시키는 역할
📌 DML (Data Manipulation Language)
- 데이터 조작으로 데이터를 관리하는 데 사용된다.
- 정의된 database에 입력된 레코드(column)를 조회하거나 수정, 삭제 등의 역할을 하는 언어를 말한다.
- 저장된 데이터를 실질적으로 처리하는 데 사용하는 언어입니다.
- DML 명령은 자동으로 commit 되지 않는다.
- DML명령에 의한 변경은 database에 영구적이지 않으므로 롤백할 수 있다.
- 종류
- SELECT : 데이터를 조회하는 역할
- INSERT : 데이터를 삽입하는 역할
- UPDATE : 데이터를 수정하는 역할
- DELETE : 데이터를 삭제하는 역할
📌 DCL (Data Control Language)
- 데이터 제어하는 언어이다.
- datebase에 대해 접근하거나 권한, 데이터의 보안 등의 정의하는 데 사용한다.
- database에 접근하여 읽거나 쓰는 것을 제한할 수 있는 권한을 부여하거나 박탈할 수 있고 트랜잭션을 명시하거나 조작할 수 있다.
- 종류
- GRANT : 특정 database 사용자에게 특정 작업에 대한 수행권한을 부여
- REVOKE : 특정 database 사용자에게 특정 작업에 대한 수행권한을 박탈 및 회수
📌 TCL (Transaction Control Language)
- 트랜잭션 제어 언어
- DCL과 비슷하지만 데이터를 제어하는 언어가 아닌 트랜잭션을 제어할 때 사용한다.
- 논리적인 작업 단위를 묶어서 DML에 의해 조작된 결과를 트랜잭션 별로 제어한다.
- 종류
- COMMIT : 모든 작업을 정상적으로 처리하겠다는 역할
- ROLLBACK : 모든 작업을 되돌려 놓는 역할
- SAVEPOINT : Commit 전에 특정 시점까지만 반영하거나 RollBack 시키는 역할
👉 트랜잭션 (Transaction)이란?
- database의 상태를 변화시키기 위해 수행하는 작업의 단위를 말한다.
- MySQL의 입력하는 모든 명령어들은 각각 하나의 트랜잭션이라고 할 수 있다.
'DB' 카테고리의 다른 글
[DataBase] Transaction 알아보기 (0) | 2023.05.26 |
---|