본문 바로가기
ETC/정보처리기사

[SQL] DDL, DML, DCL, TCL 정의 (+명령어, 기능)

by sssinga 2022. 9. 12.

 

DDL (Data Define Language, 데이터 정의어)

- 데이터베이스를 구축하거나 수정할 목적으로 사용하는 언어

- 명령어를 입력하는 순간 작업이 즉시 반영 (Auto Commit) 되므로 사용시 주의

 

명령어 기능
CREATE 데이터베이스 객체(SCHEMA, DOMAIN, TABLE, VIEW, INDEX) 생성
ALTER TABLE 구조 변경
- ADD: 새로운 컬럼 추가
- ALTER: 특정 컬럼의 Default 값 변경
- RENAME: 특정 컬럼 이름 변경
- MODIFY: 특정 컬럼 수정 
- DROP  특정 컬럼 삭제
DROP 데이터베이스 객체(SCHEMA, DOMAIN, TABLE, VIEW, INDEX) 삭제
- CASCADE: 제거할 개체를 참조하는 개체까지 모두 제거
- RESTRICT: 다른 개체가 제거할 개체를 참조중이면 제거 취소 

 

 

DML (Data Manipulation Language, 데이터 조작어)

- 데이터베이스 사용자가 저장된 데이터를 관리하는데 사용하는 언어

 

명령어 기능
SELECT 테이블에서 데이터 검색
INSERT 테이블에 새로운 데이터 삽입
DELETE 테이블에 존재하는 데이터 삭제
UPDATE 테이블에 존재하는 데이터 내용 수정

 

 

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

- 데이터 관리 목적으로 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는데 사용하는 언어

- 데이터베이스 관리자(DBA)가 사용

 

명령어 기능
GRANT 사용자에게 사용 권한 부여
 - 권한 종류: ALL, SELECT, INSERT, DELETE, UPDATE 등
REVOKE 사용자의 사용 권한 취소

 

 

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

- 트랜잭션(논리적 작업 단위)을 제어하는데 사용하는 언어

- DML에 의해 조작된 결과를 트랜잭션 별로 제어

- DCL의 일부로 분류하기도 함

 

명령어 기능
COMMIT 트랜잭션 처리가 정상적으로 완료된 후 결과를 데이터베이스에 반영
ROLLBACK 트랜잭션 처리 과정에서 변경 되었으나 아직 COMMIT 되지 않은 모든 내용을 취소
SAVEPOINT 트랜잭션 내에 ROLLBACK할 위치를 지정

 

 

댓글