본문 바로가기

DataBase

[DBMS] DML, DDL, DCL 뜻

반응형

가끔씩 일을 하다보면 DBA로부터 이런 말을 들을때가 있다.

"DML은 몇번 서버에서 해주시고, DDL 하실때는 몇번 서버 에서만 해주세요"



위와 같은 말을 들었다면, DML과 DDL을 정확하게 구분해서 업무 처리를 할 필요가 있다.



특히 MySQL 서버에서 replication으로 기동중이고 master-slave 형식을 하고 있는 DB의 경우

slave에 DDL 명령어를 수행하면 아주 피곤한 문제가 발생할 수 있다.




1. DML (Data manipulation language)

DB에서 데이터를 조작하는 명령어. 즉 우리가 가장 많이 사용하는 SELECT, INSERT, UPDATE, DELETE 등이 해당된다.




2. DDL (Data definition language)

DB를 정의하는 명령어. 대표적으로 CREATE, DROP, ALTER, TRUNCATE 가 해당된다.




3. DCL (Data Control language)

DB에 데이터를 제어하기 위한 명령어. COMMIT, ROLLBACK, GRANT, REVOKE 등이 해당된다.