본문 바로가기
DB

[MySQL] SQL - DML(INSERT, UPDATE, DELETE, SELECT)

by 이잔디 2022. 3. 15.

RDBMS

- 관계형 데이터 베이스 시스템 

 🧩 테이블 기반의 DBMS

- 데이터를 테이블 단위로 관리

  → 하나의 테이블은 여러 개의 열(column)으로 구성

- 중복 데이터를 최소화

  → 같은 데이터가 여러 열(column) 또는 테이블에 존재할 경우, 데이터 수정 시 문제 발생 가능성 증가 - 정규화 

- 여러 테이블에 분산되어 있는 데이터를 검색 시 데이블 간의 관계(join)를 이용하여 데이터 검색

SQL(Structured Query Language)

- DB에 있는 정보를 사용할 수 있도록 지원하는 언어

- 모든 DBMS에 사용 가능

- 대소문자를 구별하지 않음(단, 데이터의 대소문자는 구분)

SQL 구문 - DCL, DDL, DML

DDL(Data Definition Language) : 데이터 정의어

- 데이터베이스 객체(table, view, index)의 구조 정의

- 테이블 생성, 컬럼 추가, 타입 변경, 제약조건 지정, 수정

CREATE 데이터베이스 객체 생성
ALTER 기존에 존재하는 데이터베이스 객체 수정
DROP 데이터베이스 객체 삭제
RENAME 객체 이름 변경

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

- Data 조작

- 테이블 레코드 CRUD (Create, Retrieve, Update, Delete)

INSERT (C) 데이터 베이스 객체에 데이터 입력
SELECT (R) 데이터 베이스 객체에 데이터 조회
UPDATE (U)
데이터 베이스 객체에 데이터 수정
DELETE (D) 데이터 베이스 객체에 데이터 삭제

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

- DB, Table의 접근권한이나 CRUD 권한 정의 

- 특정 사용자에게 테이블의 검색권한 부여/금지

GRANT 데이터베이스 객체에 권한 부여
REVOKE 데이터베이스 객체에 권한 취소

TCL(Transaction Control Language) - 트랜잭션 제어어

- transaction은 데이터베이스의 논리적 연산 단위

COMMIT 실행한 Query를 최종적으로 적용
ROLLBACK 실행한 Query를 마지막 commit 전으로 취소시켜 데이터 복구

2022.03.16 - [Web - BE/DB] - [MySQL] 트랜잭션(Transaction) - TCL(ROLLBACK, SAVEPOINT, COMMIT)