본문 바로가기
프로그래밍/SQL

[SQL] DDL, DML, DCL 이란? 무엇일까? + 간단정리

by 곰 옥수수 2022. 12. 21.
728x90
반응형

DDL이란? DML이란? DCL이란?

안녕하세요. 곰 옥수수입니다.  ₍ᵔ๑・ᴥ・ᵔ₎ 

 

오늘은 DDL, DML, DCL에 대해 간략하게 알아보도록 하겠습니다.

 

지금은 간략하게 정리하고 다음에 세부적으로 정리해보도록 할게요! 


DDL이란?

데이터정의어(Data Definition Language)

 - 데이터 정의어는 데이터를 정의하는 언어로서 '데이터를 담는 상자를 정의하는 언어' 이다.

 -  테이블과 같은 데이터 구조를 정의하는데 사용되며 생성, 변경, 삭제 하는데 사용되는 언어이다.

 

DDL의 대상

도메인, 스키마, 테이블, 뷰, 인덱스가 있다.

도메인(domain):  하나의 속성을 가질 수 있는 원자값들의 집합 

스키마(Schema): 데이터베이스의 구조, 제약조건 등의 정보를 담고있는 기본적인 구조

테이블(Table):      데이터 저장 공간

뷰(View):              하나 이상의 물리 테이블에서 유도되는 가상 테이블

인덱스(Index):      빠른 검색을 위한 데이터 구조

 

DDL의 명령어

구분 DDL명령어 설명
생성 CREATE 데이터베이스 오브젝트를 생성하는 명령어
(테이블, 뷰...)
수정  ALTER 데이터베이스 오브젝트를 수정하는 명령어
삭제 DROP 데이터베이스 오브젝트를 삭제하는 명령어
TRUNCATE 데이터베이스 오브젝트의 내용을 삭제하는
명령어
예) 테이블 자체 삭제가 아닌 내용(데이터)만
삭제한다. 

테이블 생성 예)

CREATE TABLE 테이블명(

    번호 VARCHAR2(10) PRIMARY KEY,

    이름 VARCHAR2(10) NOT NULL,

    성별 CHAR(1) CHECK (성별 = 'M' OR 성별 = 'F'),

    입사일 DATE DEFAULT SYSDATE

);

 

DML

데이터 조작어(DML: Data Manipulation Language)

데이터 조작어는 데이터베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 조작 언어이다. 

 

▶DML명령어

구분 DML명령어 설명
조회 SELECT 테이블 내 컬럼에 저장된 데이터 조회
삽입 INSERT 테이블 내 컬럼에 데이터 추가
갱신 UPDATE 테이블 내 컬럼에 저장된 데이터 수정
삭제 DELETE 테이블 내 컬럼에 저장된 데이터 삭제

 

SELECT 명령어

SELECT명령령어는 구분절이 있는데 이를 정확히 순서에 맞게 사용해야한다. 

그렇지 않으면 에러가 발생한다.

 

순서 :

1. SELECT절 :      테이블에서 출력할 컬럼을 명시하기 위해 사용

2. FROM절 :         질의에 의해 검색될 데이터들을 포함하는 테이블 명을 기술

3. WHERE절 :      검색할 조건(비교, 범위, 집합, 패턴, NULL, 복합조건)

4. GROUP BY절: 속성값을 그룹으로 분류하고자 할 때 사용

5. HAVING절 :      GROUP BY에 의해 분류한 후 그룹에 대한 조건 지정 시 사용

6. ORDER BY 절: 조회된 데이터의 값을 정렬하고자 할때( ASC:오름차순, DESC:내림차순)

 

WHERE절 문법

비교, 범위, 집합, 패턴, NULL, 복합조건 이 있다.

구분 연산자 구분 연산자
비교 =, !=, <, <=, >, >=, <> 패턴 컬럼 LIKE 패턴
% : 0개이상의 문자열과 일치
[] : 1개의 문자와 일치
[^]: 1개의 문자와 불일치
_ : 특정위치의 1개의 문자와 일치
범위 컬럼명 BETWEEN a AND b
(a>=컬럼 AND 컬럼<= b)
NULL 컬럼 IS NULL
컬럼 IS NOT NULL
집합 컬럼 IN(값1, 값2, ...) 
컬럼 NOT IN(값1, 값2, ..)
복합조건 조건1 AND 조건2
조건1 OR 조건2
NOT 조건1

이것 왜에도 JOIN, 서브쿼리, 집합연산자도 있지만, 지금은 간단하게 정리하고 다음에 세부적으로 더 정리할 것이다.

 

 

DCL

데이터제어어(DCL: Data Control Language)

데이터 제어어는 데이터베이스 관리자가 데이터 보안, 무결성 유지, 병행제어, 회복을 위해 관리자(DBA)가 사용하는 제어용 언어이다.

 

▶DCL 명령어

구분 DCL명령어 설명
GRANT 사용 권한 부여 관리자(DBA)가 사용자에게 데이터베이스에 대한 권한을 부여하는 명령어
REVOKE 사용 권한 회수 관리자(DBA)가 사용자에게 부여했던   권한을 회수하기 위한 명령어

 


후.. 오늘도 열심히 정리해 봤어요. DDL, DML, DCL을 한번에 많은 양을 정리할 수는 없기에 간략히만 정리했어요.

 

다음에는 파트를 나눠서 좀 더 많은 예제와 명령어들로 정리해 봐야겠네요!

 

저도 정리하면서 도움이 됐네요!  ୧(๑•̀ᗝ•́)૭

 

다들 즐거운 하루되세오~~옥수수~ (。•̀ᴗ-)✧

 

끄으~~읏

728x90
반응형

댓글