본문 바로가기
DB

[SQL] SQL 개념 및 종류(DDL,DML,DQL,DCL,TCL)

by chan10 2021. 2. 27.

SQL(Structured Query Language)

-       SQL이란 DBMS에 저장된 데이터와 통신하기 위해 필요한 프로그래밍 언어이다.

-       데이터를 조회하거나 조작하기위해 사용하는 표준 검색언어로 데이터를 찾는 방법이나 절차를 기술하는게 아닌 조건을 기술하여 작성한다.

-       SQLANSI/ISO 표준을 준수하기 때문에 DBMS가 변경되어도 그대로 사용할 수 있다.

-      SQL언어의 종류는 크게 DDL, DML, DCL로 나누어진다.

SQL 언어 종류

-       DDL(Data Definition Langauge), 데이터 정의어

데이터를 어떻게 정의할 것인지 정의하는 언어로 데이터베이스 안의 데이터들을 생성, 변경, 수정, 입력하는 언어이다.

종류

역할

CREATE

데이터베이스, 테이블 등을 생성하는 역할을 한다.

ALTER

테이블을 수정하는 역할을 한다.

DROP

데이터베이스, 테이블을 삭제하는 역할을 한다.

TRUNCATE

테이블을 초기화 시키는 역할을 한다.

 

-       DQL(Data Query Language), 데이터 질의어

데이터를 조회하기 위한 언어로 대부분 DML에 포함시킨다.

종류

역할

SELECT

데이터를 조회하는 역할을 한다.

 

-       DML(Data Multipulation Language), 데이터 조작어

저장된 데이터를 실질적으로 처리하는데 사용하는 언어로 데이터를 조회하거나 수정, 삭제 등의 역할을 하는 언어이다.

종류

역할

INSERT

데이터를 삽입하는 역할을 한다.

UPDATE

데이터를 수정하는 역할을 한다.

DELETE

데이터를 삭제하는 역할을 한다.

 

-       DCL(Data Control Language), 데이터 제어어

데이터베이스에 접근, 객체에 권한을 부여(GRANT)하거나 회수(REVOKE)하는 역할을 하는 언어이다.

종류

역할

GRANT

특정 데이터베이스 사용자에게 특정 작업에 대한 수행권한을 부여한다.

REVOKE

특정 데이터베이스 사용자에게 특정 작업에 대한 수행권한을 회수한다.

 

-       TCL(Transaction Control Language)

하나의 작업 단위(트렌잭션)로 실행을 하는 명령어이다.

(3개의 명령어를 하나의 트렌잭션으로 정할 시 에러 발생하면 3개 명령어가 취소된다.)

종류

역할

COMMIT

트렌젝션의 최종 결과가 성공이면 그 결과를 데이터베이스에 반영한다.

ROLLBACK

일부 작업이 수행되지 않아 트렌젝션 최종 결과가 실패인 경우 아무것도 실행되지 않았던 처음 상태로 되돌린다.

 

-       Transaction

CRUD(Create, Read, Update, Delete) DBMS가 제공하는 가장 기본적이면서 핵심적인 기능으로 데이터베이스에서 최소의 작업 단위라고 할 수 있다.

트렌젝션은 하나 이상의 CRUD 작업들을 마치 하나의 실행 단위인 것처럼 묶어주는 기능으로, ATM 기기나 데이터베이스 등의 시스템에서 강조되는 개념이다.

트렌젝션은 연관된 여러 개의 CRUD 작업을 묶어 단일 작업처럼 수행할 수 있도록 해 주는 기능이다.

 

-       트렌젝션 4대원칙

원자성(Atomicity)

하나의 트렌젝션 내에 정의된 작업들은 모두 수행되거나 아무것도 수행되지 않아야 한다.

일관성(Consistency)

정당한 데이터만을 데이터베이스에 반영해서 무결성을 유지해야한다.

격리성(Isolation)

하나의 트렌젝션이 실행되는 동안 트렌젝션 내부에 다른 트렌젝션이 접근할 수 없어야 한다.

지속성(Durability)

하드웨어나 소프트웨어에 오류가 발생했더라도 트렌젝션의 결과가 데이터베이스에 계속 보존되어야 한다.