DataBase
[DBMS] DML, DDL, DCL 뜻
과일가게 개발자
2014. 7. 29. 16:31
반응형
가끔씩 일을 하다보면 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 등이 해당된다.