SQL(Structured Query Language, 구조적 질의 언어)이란?
- SQL은 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다.
- 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었다.
- 많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택하고 있다.
SQL → Syntax Check → Semantic Check → Library Cache Check → Optimization → Raw Source Generation → Execution
- DDL(Data Definition Language) : 데이터 정의 언어
데이터베이스 스키마와 설명을 처리하도록 정의하는 언어이다.
데이터베이스나 테이블 생성/변경/삭제 등의 작업이 포함된다.
예로 들면 CREATE(데이터베이스 개체(테이블, 인덱스, 제약조건 등)의 정의, DROP(데이터베이스 개체 삭제), ALTER(데이터베이스 개체 정의 변경) 등을 의미한다.
- DML(Data Manipulation Language) : 데이터 조작 언어
데이터 검색, 삽입, 변경, 삭제 수행을 조작하는 언어이다.
실직적으로 저장된 데이터를 관리하고 처리할 때 사용한다.
예로 들면 SELECT(테이블 데이터의 검색 결과 집합의 취득), INSERT(행 데이터 또는 테이블 데이터의 삽입), DELETE(데이터의 삭제), UPDATE(표 업데이트) 등을 의미한다.
- DCL(Date Control Language) : 데이터 제어 언어
사용자 관리 및 사용자별로 릴레이션 또는 데이터를 관리하고 접근하는 권한을 다루기 위한 언어이다.
예로 들면 COMMIT(트랜잭션의 작업 결과를 반영), ROLLBACK(트랜잭션의 작업을 취소 및 원래대로 복구), GRANT(사용자에게 권한 부여), REVOKE(사용자 권한 취소) 등을 의미한다.