데이터베이스 개념 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

신탁회사 뜻 / 다른 사람이나 조직의 자산을 관리하는 회사

이미지
부동산의 등기부등본이나 분양 관련 서류를 보면 신탁회사라는 표현을 접할 때가 있다. 부동산의 소유자 부분에 신탁회사 이름이 적혀 있으면 `왜 이 회사가 소유자로 되어 있지?`라는 의문이 생긴다. 신탁회사 를 쉽게 표현하면 다른 사람에게서 재산을 맡아 정해진 목적에 따라 관리하거나 처분하는 업무를 하는 회사 정도로 볼 수 있다. 다만, 신탁은 재산의 관리와 보관에 있어 법률의 관계가 복잡하다. 신탁회사 뜻 다른 사람이나 조직의 자산을 관리하는 회사 ▣ 단어의 뜻 신탁회사는 다른 사람이나 기관으로부터 금전, 부동산, 유가증권 등의 재산을 맡아 정해진 목적에 따라 관리, 운용, 처분하는 업무를 하는 회사이다. 신탁법에서 신탁은 위탁자가 수탁자에게 특정 재산을 이전하거나 처분하고, 수탁자가 수익자의 이익 또는 특정 목적을 위하여 그 재산을 관리, 운용, 처분하도록 하는 법률관계로 규정한다. 신탁회사는 영어로 `Trust Company`이며, 한자로 `信託會社`이다. 신탁회사 Trust Company Trust 신뢰하다, 신임하다. Company 회사 信託會社 信 믿을 신, 託 부탁하다 탁, 會 모일 회, 社 토지신 사 신탁회사 는 다른 사람이나 조직의 돈이나 재산을 관리하는 회사를 의미하지만, 신탁( Trust , 信託 )이란 표현을 사용한 것을 보면, 서로간의 신뢰관계를 기반으로 하고 있다는 것을 볼 수 있다. 즉, 신탁회사는 어떤 사람 또는 기관의 재산이나 권리를 믿고 맡기고, 운용하는 회사를 뜻한다. 보통, 금융투자업자를 `신탁업자`이기도 하다. 신탁회사 - 단어의 뜻 ▣ 신탁회사 역할 신탁회사 는 고객이 맡긴 재산을 목적과 계약 내용에 따라 관리, 운용, 처분하는 회사를 뜻한다. ` 자본시장과 금융투자업에 관한 법률 `에서는 ` 신탁업자 `를 금융투자업자 중 신탁업을 영위하는 자로 규정하고 있으며, ` 신탁업 `을 영위하려면 금융위원회의 금융투자업 인가를 받아야 한다. 신탁 의 기본 구조는 재산을 맡기는 위탁자 , 재산을 맡아 관리하는 수탁자 , 신탁으로부터 ...