SQL은 Structured Query Language
의 약자로 크게 3종류가 있습니다.
바로 DDL, DML, DCL
입니다.
개발을 시작하면 배우는 기본 중에 기본 용어입니다.
대부분 개념은 알고 있지만 가끔씩 용어가 헷갈립니다.
타입별 종류는 아래 나열한 리스트보다 많지만, 대표적인 종류만 알아보겠습니다.
데이터 정의어는 데이터 구조를 정의하는 언어입니다.
그래서 Table, View, Sequence, Index
등 DB Schema를 정의할 때 사용 됩니다.
규모있는 조직에서는 DBA에게만 권한을 줍니다.
종류 | 기능 |
---|---|
CREATE | 데이터 구조 생성 |
DROP | 데이터 구조 삭제 |
ALTER | 데이터 구조 변경 |
TRUNCATE | 데이터 구조 초기화 |
데이터 조작어는 저장된 데이터를 조작하는 언어입니다.
실제 데이터를 활용하는 단계로 보통 개발자들에게도 권한이 있습니다.
SELECT의 경우 DQL로 상세 분류를 하기도 합니다.
종류 | 기능 |
---|---|
SELECT | 데이터 조회 |
INSERT | 데이터 입력 |
UPDATE | 데이터 수정 |
DELETE | 데이터 삭제 |
데이터 제어어는 권한, 보안, 제약 등 데이터와 관련된 제어를 하는 언어입니다.
DDL과 마찬가지로 보통 DBA에게 권한이 있습니다.
종류 | 기능 |
---|---|
GRANT | 권한 생성 |
REVOKE | 권한 삭제 |
트랜잭션 제어어는 DML로 조작된 결과를 작업하는 단위인 Transaction을 제어하는 언어입니다.
DB에서 직접 제어하거나 Application에서 ORM 등을 활용해서 제어합니다.
TCL은 DCL에 포함해서 분류하기도 합니다.
종류 | 기능 |
---|---|
COMMIT | 데이터 정상 처리 |
ROLLBACK | 데이터 복원 |
SAVEPOINT | 데이터 특정 시점까지 반영 혹은 복원 |
SET TRANSACTION | 트랜잭션 속성 정의 |
데이터 질의어로 데이터 조회를 위한 언어입니다.
종류 | 기능 |
---|---|
SELECT | 데이터 조회 |