01 - 3 SQL이란 무엇인가
SQL은 관계형 데이터베이스 관리 시스템(rellational database management system, RDBMS)의 데이터를 관리하는 프로그래밍 언어입니다. SQL을 데이터베이스로 오해하는 사람이 많은데, SQL은 데이터베이스를 다루는 프로그래밍 언어로 데이터베이스가 아닙니다.
DBMS 종류에 따른 SQL 종류
SQL은 국제 표준화 기구에서 표준화한 문법을 ANSI SQL 이라고 발표합니다. 하지만 SQL은 ANSI SQL 이외에 DBMS 개발사마다 개발한 고유 SQL도 있습니다. 물론 그 SQL을 가리키는 명칭 또한 다릅니다. 유명한 DBMS와 해당 DBMS에서 이름 붙인 SQL은 다음과 같습니다.
※ ANSI : 미국 표준 협회(American National Standards Institute)를 의미하며, ANSI SQL은 ANSI에서 정립한 표준 SQL 문을 말합니다.
DBMS | SQL 명칭 |
SQL Server | Transact-SQL(T-SQL) |
Oracle | PL/SQL |
MySQL | SQL |
국제 표준 | ANSI SQL |
DBMS에 따른 SQL 명칭
SQL 문법 종류
SQL 문법은 크게 3가지 종류로 나눌 수 있으며 종류에 따른 정의는 다음과 같습니다.
데이터 정의 언어(DDL)
데이터 정의 언어(data define language, DDL)는 말 그대로 데이터베이스를 정의하는 언어입니다. 더 전문적으로 이야기하면 데이터 정의 언어는 테이블 스키마를 관리하는 역할을 하며, 다음 항목을 포함합니다.
- 데이터 정의 언어 항목
- CREATE : 데이터베이스 또는 테이블을 생성한다.
- ALTER : 테이블을 수정한다.
- DROP : 데이터베이스 또는 테이블을 삭제한다.
- TRUNCATE : 테이블을 초기화한다.
데이터 조작 언어(DML)
데이터 조작 언어(data manipulation language, DML)는 데이터베이스에 입력된 데이터를 검색, 입력, 수정, 삭제하며, 다음 항목을 포함합니다.
- 데이터 조작 언어 항목
- SELECT : 데이터를 검색한다.
- INSERT : 데이터를 입력한다.
- UPDATE : 데이터를 수정한다.
- DELETE : 데이터를 삭제한다.
데이터 제어 언어(DCL)
데이터 제어 언어(data control language, DCL)는 데이터베이스에 접근하거나 객체에 권한을 부여하는 등의 역할을 합니다. 데이터 제어 언어는 다음 항목을 포함합니다.
- 데이터 제어 언어 항목
- GRANT : 특정 데이터베이스 사용자에게 작업의 특정 수행 권한을 부여한다.
- REVOKE : 특정 데이터베이스 사용자에게 작업의 특정 수행 권한을 삭제한다.
- COMMIT : 트랜잭션 작업을 완료하는 역할을 한다.
- ROLLBACK : 트랜잭션 작업을 취소하거나 이전 상태로 복구하는 역할을 한다.