SQL(Structured Query Language, 구조화된 질의 언어)은 데이터베이스에서 데이터를 저장, 조회, 수정, 삭제할 때 사용하고, 데이터베이스 자체의 성능 유지관리, 최적화에 사용되는 언어이다. 쉽게 말해 데이터베이스를 다루기 위해 쓰는 언어라고 할 수 있다.
SQL의 문법은 DDL, DML, DCL, TCL로 나눌 수 있어 각각의 개념과 종류를 알아본다.
DDL(Data Definition Language, 데이터 정의어)
데이터베이스 구조 정의에 사용하는 언어로, 테이블이나 컬럼 등을 생성, 수정, 삭제한다.
데이터베이스의 전체 골격을 구성하는 역할을 한다.
DDL 종류와 역할
CREATE : 새로운 테이블을 생성
ALTER : 기존 테이블 구조 변경
DROP : 기존 테이블 삭제
TRUNCATE : 기존 테이블 초기화
RENAME : 기존 테이블 이름 변경
DML(Data Manipulation Language, 데이터 조작어)
데이터 조작에 사용하는 언어로, 테이블의 데이터를 조회, 저장, 수정, 삭제한다.
데이터베이스 내부에 실제로 저장된 데이터들을 다루는 역할을 한다.
DML 종류와 역할
SELECT : 저장된 데이터를 조회
- SELECT는 DML에 포함하지 않고 DQL(Data Query Language)로 분류하는 경우도 있다.
INSERT : 새로운 데이터를 저장
UPDATE : 저장된 데이터를 수정
DELETE : 저장된 데이터를 삭제
DCL(Data Control Language, 데이터 제어어)
데이터베이스에 대한 접근 권한 제어에 사용하는 언어로, 각종 권한을 부여, 회수한다.
권한 관리를 통해 시스템 보안을 유지하는 역할을 한다.
DCL 종류와 역할
GRANT : 유저에게 권한을 부여
REVOKE : 유저로부터 권한을 회수
TCL(Transaction Control Language, 트랜잭션 제어어)
DCL에서 트랜잭션을 컨트롤하는 명령어를 TCL로 분류한다. TCL 개념을 사용하지 않고 아래 명령어 또한 DCL로 분류하는 경우도 있다.
TCL 종류와 역할
COMMIT : 올바르게 완료한 작업으로 인한 데이터를 데이터베이스에 영구적으로 반영
ROLLBACK : 작업 시작 이전의 상태로 되돌림
SAVEPOINT : 저장점을 지정, 이후 ROLLBACK과 함께 사용하여 특정 지점까지 ROLLBACK이 가능
댓글