> For the complete documentation index, see [llms.txt](https://docs.sysout.co.kr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sysout.co.kr/database/oracle/structure-query-language.md).

# SQL

## SQL

이 문서에서는 SQL의 종류와 특징에 대해서 살펴본다.

### SQL이란

SQL(Structure Query Language)이란 관계형 데이터베이스 관리 시스템에서 자료를 처리하기 위해 사용되는 언어이다. 데이터베이스 종류마다 다소 차이가 있을 수는 있으나 공통된 표준을 기반으로 만들어졌기 때문에 기본 형태가 비슷하다.

### SQL 분류

SQL은 다음과 같이 분류할 수 있다.

* DDL : Data Definition Language. 데이터 정의 언어
* DML : Data Manipulation Language. 데이터 조작 언어
* DCL : Data Control Language. 데이터 제어 언어

### DDL

DDL(Data Definition Language)은 데이터베이스 객체를 정의하는 언어이다.\
데이터베이스 객체의 종류는 테이블, 인덱스, 뷰, 제약조건, 사용자 등이 있다.

* CREATE : 생성 명령
* ALTER : 변경 명령
* DROP : 제거 명령

각각의 명령은 해당 문서에서 다룬다.

### DML

DML(Data Manipulation Language)는 데이터를 관리하는 명령이다.

* INSERT INTO : 데이터 삽입
* UPDATE : 데이터 갱신
* DELETE : 데이터 삭제
* SELECT : 데이터 조회

각각의 명령은 해당 문서에서 다룬다.

#### DQL

SELECT만을 따로 DQL(Data Query Language)라고 부르기도 한다.

### DCL

DCL(Data Control Language)는 데이터 처리를 제어하기 위한 명령이다.

* GRANT : 사용자에게 권한 부여
* REVOKE : 사용자에게서 권한 회수
* COMMIT : 트랜잭션의 실행
* ROLLBACK : 트랜잭션의 취소
* SAVEPOINT : 롤백 지점 설정

각각의 명령은 해당 문서에서 살펴본다.

#### TCL

DCL 중에서 트랜잭션(Transaction) 관련된 명령만을 따로 모아서 TCL(Transaction Control Language)이라고도 부른다.

* COMMIT
* ROLLBACK
* SAVEPOINT
