SQL(Structured Query Language) : 데이터베이스 언어로, 주로 관계형 데이터베이스에서 사용
DDL은 데이터를 정의할 때 사용하는 언어다. 테이블을 만들 때 사용하는 CREATE
이나 테이블을 제거할 때 사용되는 DROP
등이 DDL에 해당한다. 데이터베이스의 테이블과 같은 오브젝트를 정의할 때 사용한다.
종류 | 역할 |
---|---|
CREATE | 데이터베이스, 테이블등을 생성 |
ALTER | 테이블을 수정 |
DROP | 데이터베이스, 테이블을 삭제 |
TRUNCATE | 테이블을 초기화 |
DML은 데이터베이스에 데이터를 저장할 때 사용하는 언어다. INSERT
처럼 새로운 레코드를 추가할 때 사용되는 문법을 포함해 데이터를 삭제하는 DELETE
나, 변경하는 UPDATE
가 DML에 포함된다.
종류 | 역할 |
---|---|
SELECT | 데이터를 조회 |
INSERT | 데이터를 삽입 |
UPDATE | 데이터를 수정 |
DELETE | 데이터를 삭제 |
DCL은 데이터베이스에 대한 접근 권한과 관련된 문법이다. 어느 유저가 데이터베이스에 접근할 수 있는지 권한을 설정한다. 권한을 주는 GRANT
나, 권한을 가져가는 REVOKE
등이 DCL에 포함된다.
종류 | 역할 |
---|---|
GRANT | 특정 데이터베이스 사용자에게 특정 작업에 대한 수행권한 부여 |
REVOKE | 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 박탈, 회수 |
DQL은 정해진 스키마 내에서 쿼리할 수 있는 언어다. SELECT
가 DQL에 해당한다. 이렇게 언어를 분류했지만, DQL을 DML의 일부분으로 취급하기도 한다.
TCL은 DML을 거친 데이터의 변경사항을 수정할 수 있다. COMMIT
처럼 DML이 작업한 내용을 데이터베이스에 커밋하거나, ROLLBACK
처럼 커밋했던 내용을 다시 롤백하는 문법이 있다.
종류 | 역할 |
---|---|
COMMIT | 트랜잭션의 작업 결과를 저장 반영 |
ROLLBACK | 트랜잭션의 작업을 취소 및 원래대로 복구 |