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

안전자산의 뜻과 종류 | 자산가치의 하락이 적고 신뢰도가 높은 자산

이미지
국제사회가 어지러운 경우, 시장 변동성이 커지고 경제 전망이 불투명해진다. 이런 경제 상황이 불안해지는 경우 사람들의 시선은 `안전자산`으로 향하게 된다. 불안한 경제의 위기 상황 속에서 내 소중한 원금을 최대한 보존할 수 있는 자산은 대표적으로 금, 달러, 국채가 있다. `안전자산`이라고 해도 가지고 있는 원금을 완전히 보존한다고 장담할 수 없지만, 가치 하락에 대한 변동성은 상대적으로 작다. 즉, 자신이 가진 자산가치의 하락이 적고, 신뢰도가 높은 자산을 의미한다. 안전자산 뜻 종류 / 금, 예금, 적금, 미국 달러 안전자산이란 무엇인가? `안전자산`의 뜻은 금융 시장의 불확실성이 커지거나 위험이 닥쳤을 때도 가치가 크게 하락하지 않고, 원금이 상대적으로 최대한 안전하게 보장될 가능성이 높은 자산을 뜻한다. 단순히 가격이 변하지 않는 것 뿐만 아니라, 필요할 때 즉시 현금화할 수 있다는 장점이 있지만, `유동성`과 채무 불이행에 따른 `신용도`가 어느 정도는 뒷받침되어야 합니다. 이런 경우 유동성과 변동폭이 큰 주식같은 투자 자산에서 돈은 빠져나오며 `안전자산`으로 돈이 다시 몰리는 현상이 발생한다. 대표적인 안전자산의 종류 안전자산의 세계에도 대장주들이 있다. 금, 달러, 국채가 그렇다. 시장 상황에 따라 선호도는 다르지만, 전 세계적으로 통용되는 대표적인 자산은 다음과 같다. 금(Gold) 인플레이션이나 화폐 가치 하락에 대비할 수 있는 대표적인 실물 자산이다. `실물`이라는 점에서 사람들의 심리적 안정감이 크다. 예금, 적금 가장 친숙한 형태의 안전자산 중 하나. 예금자 보호법에 의해 일정 금액까지 원금이 보장된다. 미국 달러(USD) 세계 기축통화인 달러는 경제 위기 시 가치가 상승하는 경향이 있다. 가장 강력한 유동성을 자랑한다. 미국 국채 미국 정부가 망하지 않는 한 원금과 이자를 보장받을 수 있다는 신뢰가 존재한다. 미국 국채의 신뢰성 덕분에 가장 안전한 국가 채권으로 분류됩니다. 안전자산 투자 시 주의사항 안전자산이 무조건 `무결점`인 것도 ...