SQL유형 DDL, DML, DCL이란 무엇일까요?

2019. 5. 4. 23:04정보처리 산업기사/데이터베이스

반응형

 

SQL(Structured Query Language)는 관계 데이터베이스에서 사용하는 대표적인 언어라고 할 수 있습니다. 구조화 된 쿼리 언어의 약자이며, SQL은 데이터베이스와 통신하는데 사용을 하죠.

 

SQL문은 데이터베이스에서 데이터를 업데이트하거나 데이터베이스에서 데이터를 검색하는 등의 작업을 수행하는데 사용됩니다. 여기서 DDL(Data definition language)라는 데이터 정의어, DML(Data manipulation language)라는 데이터 조작어, DCL(Data control language) 데이터 제어어 등이 있습니다.

 

대표적으로는 이 3가지가 항상 거론이 되죠. 이 안에서 자주 언급되는 명령어를 알아봅시다.

 

DDL(Data Definition Language)

DDL(Data Definition Language)은 CREATEDROP, ALTER 같은 데이터베이스 객체 생성 및 삭제 변경하는 명령입니다.

주로 테이블, 스키마, 도메인, 인덱스, 뷰를 생성하거나 수정 및 제거하기 위해 사용됩니다.

아래에 명시된 예시들은 실제로 대괄호([])를 사용하지 않음.

 

CREATE 데이터베이스 및 테이블을 생성

ex) CREATE DATEBASE [데이터베이스명] authorization [사용자 ID];

ex) CREATE DOMAIN [도메인명] [데이터 타입];

ex) CREATE TABLE [테이블명];

 

DROP 데이터 베이스 및 테이블 삭제

ex) DROP [데이터베이스, 테이블, 도메인 등의 이름]

 

ALTER 기존에 생성되어 있던 데이터베이스 및 테이블 변경

ex) ALTER TABLE [테이블명] ADD([속성명] [데이터 타입]);

 

 

DML(Data Manipulation Language)

DML(Data Manipulation Language)은 SELECT, INSERT, UPDATE, DELETE같은 테이블에 대한 데이터의 취득, 추가 및 갱신과 삭제하는 명령입니다.

 

SELECT 하나 또는 그 이상의 테이블에서 데이터를 추출

ex) SELECT [선택할 테이블] FROM [데이터들을 포함하는 테이블명] WHERE [검색할 조건];

 

INSERT 데이터베이스 및 테이블에 값을 삽입

ex) INSERT INTO [테이블명] VALUES(data1, data2, ...);

 

DELETE 데이터베이스 및 테이블 내 값 삭제(참고로 ROLLBACK으로 복구 가능)

ex) DELETE FROM [테이블명] WHERE [조건];

 

 

DCL(Data Control Language)

DCL(Data Control Language)은 BEGIN, COMMIT, ROLLBACK 등 트랜잭션 제어를 위한 명령입니다. 데이터베이스 시스템의 권한, 제어 등을 담당하죠.

 

COMMIT 변경된 내용을 적용

ex) COMMIT;

 

GRANT 특정 권한을 부여합니다.

ex) GRANT CREATE TABLE TO [사용자 ID];

 

REVOKE 특정 권한을 회수

ex) REVOKE [사용자 등급] FROM [사용자 ID];

 

ROLLBACK 변경된 내용을 변경되기 이전의 값으로 되돌림.

ex) ROLLBACK;

 

 

 

반응형