프로그래밍/SQL

DB 기본 용어 (SQL, DDL, DML, DCL, TCL)

ny94 2018. 2. 7. 08:42

SQL

SQL (Structured Query Language) 은 구조적인 질의 언어라는 것이다.

이 SQL 이라는 질의 언어를 통해서 데이터베이스를 제어, 관리한다.

 

SQL 은 다음 언어로 나눌 수 있다.


  1. DDL : 데이터 정의 언어 
  2. DML : 데이터 조작 언어
  3. DCL : 데이터 제어 언어

 

DDL

DDL (Data Definition Language) 는 데이터 베이스 스키마를 정의 하거나 조작하기 위해 사용한다.

SCHEMA, DOMAIN, TABLE, VIEW, INDEX 를 다음 명령어로 정의, 변경, 삭제한다.


  • CREATE : 정의 
  • ALTER: 수정
  • DROP : 삭제
  • TRUNCATE : DROP 후 CREATE

* Oracle 11g 이전 버전과 MySQL은 DDL에 대해서 트랜잭션을 지원하지 않는다.

(Rollback 할 수 없고 Commit할 필요도 없다.)



DML(★)

DML (Data Manipulation Language) 는 데이터를 조작 (조회, 추가, 변경, 삭제) 하기 위해 사용한다.

사용자가 응용 프로그램과 데이터 베이스 사이에 실질적인 데이터 처리를 위해서 주로 사용한다.


  • SELECT : 조회
  • INSERT : 추가
  • DELETE : 삭제
  • UPDATE : 변경 

기본적인 위의 명령어 외에 LOCK, EXPLAIN, CALL 등도 DML에 포함 된다.



DCL

DCL (Data Control Language) 는 데이터를 제어하는 언어이다.

데이터의 보안, 무결성, 회복, 병행 수행제어 등을 정의하는데 사용한다.


  • COMMIT : 트랜잭션의 작업 결과를 반영 
  • ROLLBACK : 트랜잭션의 작업을 취소 및 원래대로 복구
  • GRANT : 사용자에게 권한 부여
  • REVOKE : 사용자 권한 취소


DQL

일부에서는 DML에서 SELECT 만을 따로 분리해서 DQL (Data Query Language) 나 

간단히 QUERY 로 표현하기도 한다.



TCL

일부에서는 DCL 에서 트랜잭션을 제어하는 명령인 COMMIT 과 ROLLBACK 만을 따로 분리해서 TCL (Transaction Control Language) 라고 표현하기도 한다.



출처: http://parkbosung.tistory.com/11 [IT 지식 쌓기]