DDL(Data Definition Language)은 데이터를 정의할 때 사용하는 언어로, 테이블을 만들 때 사용하는 CREATE
나 테이블을 제거할 때 사용되는 DROP
등이 DDL에 해당한다. 데이터베이스의 테이블과 같은 오브젝트를 정의할 때 사용한다.
- CREATE: SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 생성
ALTER: Table에 대한 정의를 변경하는데 사용
DROP: SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 삭제
DML(Data Manipulation Language)은 데이터베이스에 데이터를 저장할 때 사용하는 언어로, INSERT
처럼 새로운 레코드를 추가할 때 사용되는 문법을 포함해 데이터를 삭제하는 DELETE
나, 변경하는 UPDATE
가 DML에 포함된다.
SELECT: 테이블에서 조건에 맞는 튜플(레코드)을 검색
INSERT: 테이블에 새로운 튜플을 삽입
DELETE: 테이블에서 조건에 맞는 튜플을 삭제
UPDATE: 테이블에서 조건에 맞는 튜플의 내용을 변경
DCL(Data Control Language)은 데이터베이스에 대한 접근 권한과 관련된 문법으로, 어느 유저가 데이터베이스에 접근할 수 있는지 권한을 설정한다. 권한을 주는 GRANT
나, 권한을 가져가는 REVOKE
등이 DCL에 포함된다.
COMMIT: 명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고, 데이터베이스 조작 작업이 정상적으로 완료되었음을 관리자에게 알려줌
ROLLBACK: 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구함.
GRANT: 데이터베이스 사용자에게 사용 권한을 부여함.
REVOKE: 데이터베이스 사용자에의 사용 권한을 취소함.
DQL(Data Query Language)은 정해진 스키마 내에서 쿼리할 수 있는 언어로, 대표적으로SELECT
가 DQL에 해당하며 DQL을 DML의 일부분으로 취급하기도 한다.
SELECT: 테이블 내의 데이터를 조회할 때 사용
WHERE: 테이블에 저장된 데이터 중 원하는 데이터만 선택적으로 추출한다.
DISTINCT: 동일한 값의 중복을 제거한다.
GROUP BY: 해당 값을 그룹화하여 출력한다.
ORDER BY: 특정 칼럼을 기준으로 순서대로 나열한다(ASC - 오름차순(기본값), DESC - 내림차순)
TCL(Transaction Control Language)은 DML을 거친 데이터의 변경사항을 수정할 수 있다. DCL에서 COMMIT
과 ROLLBACK
을 따로 TCL이라고 표현한다.
COMMIT: 명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고, 데이터베이스 조작 작업이 정상적으로 완료되었음을 관리자에게 알려줌
ROLLBACK: 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구함.
Reference