반응형
💾 SQL이란?
SQL(Structured Query Language)이란 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다.
아래의 그림과 같이 DDL, DML, DCL, TCL로 구분된다.
💾 DDL (Data Definition Language)
데이터베이스의 구조를 정의할 때 사용하는 언어이다. DDL은 명령어를 입력하는 순간 작업이 즉시 반영(Auto Commit)되기 때문에 사용할 때 주의해야 한다.
- CREATE
- 테이블, 뷰 또는 인덱스와 같은 새 데이터베이스 개체를 생성 - ALTER
- 기존 데이터베이스 개체를 수정 - DROP
- 테이블, 뷰 또는 인덱스와 같은 데이터베이스 개체 삭제 - TRUNCATE
- 테이블의 모든 행을 삭제(DROP과 달리 테이블의 구조와 인덱스는 그대로 유지) - RENAME
- 기존 데이터베이스 개체의 이름을 변경
💾 DML (Data Manipulation Language)
데이터베이스 내의 데이터를 조작하는 데 사용하는 언어이다.
- SELECT
- 데이터를 조회하는 명령어 - INSERT
- 데이터를 생성하는 명령어 - UPDATE
- 데이터를 수정하는 명령어 - DELETE
- 데이터를 삭제하는 명령어
💾 DCL (Data Control Language)
데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 데 사용되는 언어이다.
- GRANT
- 권한 부여 - REVOKE
- 권한을 제한하거나 회수
💾 TCL (Transaction Control Language)
데이터베이스의 구조를 정의할 때 사용하는 언어이다. DDL은 명령어를 입력하는 순간 작업이 즉시 반영(Auto Commit)되기 때문에 사용할 때 주의해야 한다.
- COMMIT
- 논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 영구적으로 반영 - ROLLBACK
-논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업 이전의 상태로 복구 - SAVEPOINT
- 저장점을 정의하면 롤백할 때 트랜잭션에 포함된 전체 작업을 롤백하는 것이 아니라 현시점에서 SAVEPOINT까지 트랜잭션의 일부만 롤백
References.
1. 코딩하는 포로리 - DB 개요: DDL, DML, DCL, TCL이란?
2. info-lab - [SQL] DDL / DML / DCL 이란?
반응형
'Database' 카테고리의 다른 글
MySQL에서 테이블 백업하기: CREATE TABLE AS와 LIKE 사용법 (0) | 2024.12.12 |
---|---|
[MySQL] 테이블, 컬럼 코멘트 조회 (0) | 2024.12.03 |
[Database] Key의 종류와 특징 (0) | 2023.07.24 |
[SQL] COUNT(1), COUNT(*), COUNT(column) 차이점 (1) | 2023.07.04 |
[SQL] DELETE, TRUNCATE, DROP 차이점 (0) | 2023.06.23 |