데이터베이스 개념 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;  -- 자동 커밋 활성화 (기본값)

댓글

이 블로그의 인기 게시물

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

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

그록(Grok) AI 영상 만들기 방법 / Image2Video / 텍스트 프롬프트로 이미지를 생성하고 동영상 만들기

Featured Post

자기자본 뜻 / 자기자본 = 자산 - 부채 / 자산에서 부채를 뺀 순수한 재산

이미지
자기자본은 기업의 자산에서 모든 부채를 차감한 후 남는 부분을 의미한다. 회계 기준으로 볼 때의 자본(equity)은 기업의 자산에서 모든 부채를 차감한 후의 잔여 지분으로 정의한다. 기본적인 관계는 자산 = 부채 + 자기자본, 또는 자기자본 = 자산 - 부채로 표현할 수 있다. 자기자본은 회사가 보유한 현금 또는 자본금과는 다르다. 자기자본 뜻 자기자본 = 자산 - 부채 자산에서 부채를 뺀 순수한 재산 ▣ 자기자본 뜻 / 자기자본 = 자산 - 부채 자기자본은 기업이 가지고 있는 전체 자산에서 갚아야 하는 부채를 제외하고 남는 부분이다. 단어의 뜻부터 찾아보자. 자기자본은 한자로는 自己資本( 自 스스로 자, 己 몸 기, 資 재물 자, 本 근본 본), 영어로는 Total Equity 이다. 자기자본 自己資本( 自 스스로 자, 己 몸 기, 資 재물 자, 本 근본 본) Total Equity 굳이, 단어를 해석해 보면 자산에서 부채를 뺀 순수한 재산 정도로 볼 수 있다. 다른 의미로는 기업의 자산에서 모든 부채를 차감한 후 남는 잔여지분이다. ( 같은 말이다. ㅋ ) 자기 자본을 수식으로 표현하면 다음과 같다. 자기자본 = 자산 - 부채 또는 회계의 기본 관계로 표현하면 다음과 같다. 자산 = 부채 + 자기자본 만약, 회사의 자산이 10억 원이고 부채가 6억 원이라고 가정했을 때, 이를 수식으로 표현하면 다음과 같다. 자산 10억원 부채 - 6억원 자기자본 4억원 이 경우 회계상 자기자본은 4억 원이다. 위에서 나온 4억원은 자기자본이 회사 통장에 들어 있는 현금 4억 원이라는 뜻은 아니라는 것이다. 자산에는 현금뿐 아니라 매출채권, 재고자산, 건물, 토지, 기계장치 등 여러 종류의 자산이 포함되기 때문이다. 자기자본 뜻 / 자기자본 = 자산 - 부채 자기자본과 자본금 자기자본이란 단어를 생각하면 자본금이 같이 떠오른다. 비슷해 보이는 단어지만, 전혀 다른 의미이다. 자본금은 자기자본을 구성하고 있는 하나의 요소이며, 자기자본은 재무상태표에서 여러 자본 항목을 포함...