eunzae's develog

[SQL]SQL 문장 종류(DML, DDL, DCL, TCL) 본문

Language/SQL

[SQL]SQL 문장 종류(DML, DDL, DCL, TCL)

eunzae 2022. 4. 26. 12:40

DML(Data Manuplation Language): 데이터 조작어

- SELECT: 조회

- INSERT, UPDATE, DELETE: 데이터에 변형(데이터 삭제, 수정, 삽입)

 

* 절차적 데이터 조작어 vs 비절차적 데이터 조작어

- 절차적 데이터 조작어: 사용자가 어떤(what) 데이터를 원하고 해당 데이터를 얻기 위해서는 어떻게(how) 처리해야 하는지를 설명한다.

- 비절자적 데이터 조작어: 사용자가 어떤(what) 데이터를 원하는지만 설명한다. 즉, 해당 데이터를 얻으려면 어떻게(how) 처리해야 하는지는 DBMS에 맡긴다. 

 

* 호스트 프로그램 속에 삽입되어 사용되는 DML 명령어들은 데이터 부속어(Data Sub Language)라고 한다.

 

 

DDL(Data Definition Language): 데이터 정의어

- CREATE, ALTER, DROP, TRUNCATE, RENAME: 테이블, 컬럼 같은 데이터 구조 정의(구조 생성, 변경, 삭제)

 

* DROP, TRUNCATE, DELETE 비교

DROP TRUNCATE DELETE
DDL DDL(일부 DML) DML
ROLLBACK 불가능 ROLLBACK 불가능 COMMIT 이전 ROLLBACK 가능
Auto Commit Auto Commit 사용자 Commit
테이블이 사용했던 Storage를 모두 Release 테이블이 사용했던 Storage 중 최초 테이블 생성 시 할당된 Storage만 남기고 Release 데이터를 모두 Delete 해도 사용했던 Storage는 Release 되지 않음
테이블의 정의 자체를 완전히 삭제함 테이블을 최초 생성된 초기 상태로 만듬 데이터만 삭제

 

 

DCL(Data Control Language): 데이터 제어어

- GRANT, REVOKE: 권한 관리

 

 

TCL(Transaction Control Language): 트랜잭션 제어어

- COMMIT, ROLLBACK, SAVEPOINT: 논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어

 

 

REFERENCE

https://terms.naver.com/entry.naver?docId=3431107&cid=58430&categoryId=58430 

 

데이터 조작어

데이터 조작어(DML;Data Manipulation Language)는 사용자가 데이터의 삽입·삭제·수정·검색 등의 처리를 데이터베이스 관리 시스템에 요구하기 위해 사용하는 데이터 언어다. 데이터 정의어를 이용해

terms.naver.com

 

'Language > SQL' 카테고리의 다른 글

[SQL]SELECT 문장 실행 순서  (0) 2022.05.02
[SQL]단일행 NULL 관련 함수  (0) 2022.05.02
[SQL]튜닝 실무  (0) 2022.04.25
[SQL]만 나이 계산 쿼리  (0) 2022.04.25
[SQL]TCL(트랜잭션 제어어)  (0) 2022.04.25