데이터베이스 개념 DCL, DDL, DML, TCL 뜻과 명령어 종류

데이터베이스(이하 DB) 명령어는 크게 DCL, DDL, DML, TCL 있다.
데이터를 관리하기 위한 명령어로
사용자 권한(DCL), 데이터 구조(DDL), 데이터 조작(DML), 트랙잰션(TCL)을 관리한다.
각각의 명령어는 몇 개 없지만, 기억해 두면 편하다.

데이터베이스
DCL DDL DML TCL

DCL, DDL, DML, TCL meaning and command types
데이터베이스 개념 DCL, DDL, DML, TCL 뜻과 명령어 종류

과거에 비해 SQL의 활용 범위가 줄어든 느낌이다.
관계형 DB를 사용하는 경우 SQL의 활용범위는 넓어지고 필요성은 높아진다.
MySQL의 경우 `DCL, DDL, DML, TCL`로 구분되고,
단어의 개념을 익히면 명령어들의 개념을 익히기 수월해 진다.
아래는 DB의 개념을 나열해 본 것이다.

  • DCL / Data Control Language
    • 사용자에게 DB 사용에 대한 권한을 부여한다.
      • GRANT
        • 사용자 권한 부여
      • REVOKE
        • 사용자 권한 해제
  • DDL / Data Definition Language
    • 데이터 객체의 구조를 관리한다.
      • CREATE
        • 데이터 객체 생성
      • ALTER
        • 데이터 객체 수정
      • TRUNCATE
        • 데이터 객체 초기화 ( 데이터 )
      • DROP
        • 데이터 객체 삭제 ( 구조, 데이터 )
  • DML / Data Manipulation Language
    • 테이블의 데이터를 관리한다.
      • SELECT
        • 데이터 조회
      • INSERT
        • 데이터 생성
      • UPDATE
        • 데이터 수정
      • DELETE
        • 데이터 삭제
  • TCL / Transaction Control Language
    • 데이터 관리의 동작 여부를 관리한다.
      • SET TRANSACTION
        • 트랜잭션 설정
      • COMMIT
        • 변경 내용 저장
      • ROLLBACK
        • 변경 내용 취소
      • SAVEPOINT
        • 중간 변경 내용 설정

✅DCL / Data Control Language

DB를 설치하고 처음 사용할 때 `root`계정을 이용해 학습을 진행할 것이다.
`DCL ( Data Control Language )`는
DB의 데이터를 조작하는
`사용자의 권한을 추가 ( GRANT ) , 삭제 ( REVOKE ) ` 하는 역할을 한다.
명령어는 다음과 같다.

GRANT 권한목록 ON 데이터베이스.테이블 TO '사용자'@'호스트' [WITH GRANT OPTION];

REVOKE 권한목록 ON 데이터베이스.테이블 FROM '사용자'@'호스트';

✅DDL / Data Definition Language

DDL은 데이터의 구조를 추가, 수정, 삭제하는 역할을 한다.
데이터의 구조는 DB의 스키마 또는 테이블을 생각하면 된다.
또한, 사용자 정보도 포함된다.
데이터 구조를 다루는 명령어는 4가지 정도이다.
`CREATE 생성, ALTER 수정, DROP 삭제, TRUNCATE 초기화`를 사용한다.

CREATE DATABASE 데이터베이스명;
DROP DATABASE

CREATE TABLE 테이블명;
ALTER TABLE 테이블명
TRUNCATE TABLE
DROP TABLE

DROP INDEX

✅DML / Data Manipulation Language

DML은 데이터를 조작하는 역할을 한다.
데이터의 구조가 만들어졌다면 데이터를 입력, 수정, 삭제, 조회가 가능할 수 있어야 한다.
`DML`은 DB를 다루는 사람이라면 자주 사용한다.
보통 CRUD ( Create, Read, Update, Delete )라 불리는 4가지로 
`INSERT, SELECT, UPDATE, DELETE`가 그것이다.
이들은 각각 데이터를 입력, 조회, 수정, 삭제 역할을 한다.

SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명
WHERE 조건;

INSERT INTO 테이블명 (컬럼1, 컬럼2, ...)
VALUES (값1, 값2, ...);

UPDATE 테이블명
SET 컬럼1 = 값1, 컬럼2 = 값2, ...
WHERE 조건;

DELETE FROM 테이블명
WHERE 조건;

✅TCL / Transaction Control Language

TCL이 조금 어려울 수 있다.
잘 사용하지 않는 경우들도 있지만, ERP, MES 등의 복잡도 있는 업무 로직인 경우 
자주 사용된다.
TCL은 트랜잭션을 다루는 것으로 여러 개의 작업을 하나의 작업 단위로 묶어 실행한다.
하나의 묶음이 하나의 실행 단위이기 때문에 
실패시 테이블의 값을 원래 상태로 되돌릴 수 있다.
기본적인 문법은 다음과 같으며 MySQL을 기준으로 한다.

START TRANSACTION;
-- 또는
BEGIN;

COMMIT;

ROLLBACK;

SAVEPOINT 저장지점이름;

ROLLBACK TO 저장지점이름;

SET autocommit = 0;  -- 자동 커밋 해제
SET autocommit = 1;  -- 자동 커밋 활성화 (기본값)

댓글

이 블로그의 인기 게시물

귀문과 혼문 뜻 어떤 영(靈)들이 드나드는 문

윈도우 캡쳐 이미지 자동 저장 위치 찾기

구글 스프레드시트 행 높이 크기 조절하는 방법

Featured Post

유가증권 뜻과 종류

이미지
유가증권은 재산적 가치가 있는 권리를 표시한 증권으로, 일정한 재산권을 증명하거나 그 권리를 이전, 행사하기 위해 사용되는 문서를 뜻한다. 즉, 유가증권은 금전적 가치가 있으며 거래나 양도가 가능한 권리를 나타내는 증권이다. 유가증권의 대표적인 종류에는 주식, 채권, 수표, 어음 등이 있다. 주식은 기업의 자본을 구성하는 지분을 나타내는 증권으로, 보유자는 주주로서 배당을 받거나 의결권을 행사할 수 있다. 채권은 국가, 지방자치단체, 기업 등이 자금을 빌리기 위해 발행하는 증권으로, 일정 기간 후 원금과 약정된 이자를 지급받을 권리를 나타내며, 국채, 지방채, 회사채 등이 대표적이다. 어음은 일정한 금액을 정해진 날짜에 지급하겠다는 약속 또는 지급을 위탁하는 증권이며, 수표는 발행인이 금융기관에 일정 금액을 지급하도록 지시하는 증권이다. 유가증권은 재산적 권리를 증명하고 거래할 수 있도록 만든 증권을 통칭하며, 투자, 자금조달, 결제 등 다양한 경제활동에 이용된다. 유가증권 뜻과 종류 ▣ 유가증권 단어의 뜻 유가증권(有價證券, Securities)은 재산적 가치가 있는 권리나 투자자의 권리를 나타내는 증권이다. 한자로는 有價證券( 有 있을 유, 價 값 가, 證 증거 증, 券 문서 권 )이며, 영어로는 Securities이다. 문자 그대로 풀어보면 `가치가 있는 권리를 증명하는 증서`라 할 수 있다. 유가증권은 금전이나 재산상의 권리와 연결되어 있다는 점이 특징이다. 과거에는 종이 형태의 증권이었지만, 지금은 전자등록 방식으로 권리를 기록하고 거래하는 경우도 많다. 유가증권은 크게 주식, 채권, 어음, 수표 등이 있다. 주식은 회사에 대한 지분을 나타내고, 채권은 국가, 기업 등이 자금을 빌리고 원금과 이자를 지급하기 위해 발행한다. 어음과 수표는 일정한 금액의 지급을 목적으로 사용하는 증권이다. 유가증권은 경제적 가치가 있는 권리를 나타내며 거래,이전할 수 있도록 만든 증권을 통칭하는 개념으로 이해할 수 있다. 유가증권 단어의 뜻 ▣ 유가증권 종류 유가증권은 ...