SQL(Structured Query Language, 구조화 질의어)는 관계형 데이터베이스 관리시스템(RDBMS)의 데이터 관리를 위해 설계된 특수 목적의 프로그래밍 언이다.
관계형 데이터베이스에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정관리를 위해 1970년대 초 IBM의 도널드 D.챔벌린, 레이먼드.F.보이스가 처음 개발하였다.
SQL은 다음의 세가지 문법으로 분류된다.
DDL을 이해하기전, RDBMS에는 데이터를 담는 다섯가지 구조가 존재한다.
위의 다섯가지를 지금 설명하지 않지만, 위와 같은 구조 생성하기 위한 언어가 DDL이며, 보통은 Table을 가르킨다.
DDL 기본 문법은 다음과 같다.
CREATE TABLE 테이블 명 (컬럼명 데이터유형(길이)....)
ALTER TABLE 테이블 명 (ADD, DROP, MODIFY)
DROP TABLE 테이블 명;
TRUNCATE TABLE 테이블 명;
DML은 데이터를 조작하기 위한 언어이다. 데이터를 조작한다는 것은 데이터의 수정, 삭제, 입력, 이를 한번에 수행 하는 언어이다.
DML의 구문은 다음과 같다.
INSERT INTO 테이블 명 VALUES(...)
DELETE 테이블 명
UPDATE 테이블 명 SET 컬럼명 = 값 WHERE 조건문
MERGE INTO 테이블 명1
USING 테이블 명2
ON 조건문
WHEN MATCHED THEN
실행문1
실행문2
실행문3
...
DCL은 데이터를 제어하기 위한 언어이다. 데이터를 제어한다는 것은 데이터베이스나 테이블에 대한 접근 권한을 제어하는 것을 의미한다.
TCL은 Transaction Control Language의 약자로서, 트랜잭션을 제어하는 언어를 말한다.( 추후 트랜잭션에 대한 챕터에 추가 될 예정)