SQL (Structured Query Language)
The database language by the use of which we can perform certain operations on the existing database and also we can use this language to create a database.
한마디로 데이터베이스 언어라고 보면 된다.
즉 테이블에 대한 명령어와 같은 것이다.
SQL은 일반적으로 5가지 카테고리로 나뉘어진다.
1. DDL – Data Definition Language
2. DQL – Data Query Language
3. DML – Data Manipulation Language
4. DCL – Data Control Language
5. TCL – Transaction Control Language
DDL (Data Definition Language)
Schema 내의 객체를 정의하고 관리할 때 사용되는 쿼리문을 의미.
- CREATE
- 이 명령은 데이터베이스 또는 해당 개체(예: 테이블, 인덱스, 함수, 보기, 저장 프로시저 및 트리거)를 만드는 데 사용됩니다.
- DROP
- 이 명령은 데이터베이스에서 개체를 삭제하는 데 사용됩니다.
- ALTER
- 데이터베이스의 구조를 변경할 때 사용됨. Column(열) 변경, 추가, 삭제, 수정
- TRUNCATE
- 레코드에 할당된 모든 공간이 제거되는 것을 포함하여 테이블에서 모든 레코드를 제거하는 데 사용됨
- 모든 Row(행)의 데이터와 존재하던 공간까지 모두 제거
DQL (Data Query Language)
쿼리(Query)의 사전적 의미는 묻다, 질문하다라는 의미
데이터베이스 서버에게 데이터를 달라고 요청하는 쿼리문을 의미.
- SELECT
- 데이터베이스에서 데이터를 검색할 때 사용
DML (Data Manipulation Language)
데이터를 조작하는 쿼리문
대부분의 SQL 문이 포함됨
DCL (Data Control Language) 또한 데이터 및 데이터베이스에 대한 액세스를 제어하는데 DML 문으로 그룹화됨.
- INSERT
- 테이블에 데이터를 삽입할 때 사용
- UPDATE
- 테이블 내의 기존 데이터를 업데이트하는 데 사용
- DELETE
- 데이터베이스 테이블에서 레코드를 삭제하는 데 사용
- LOCK
- 테이블 동시성 제어
DCL (Data Control Language)
데이터베이스 시스템의 권한, 사용 권한 및 기타 제어를 처리하는 GRANT 및 REVOKE와 같은 명령이 포함
- GRANT
- 사용자에게 데이터베이스에 대한 액세스 권한을 부여
- REVOKE
- GRANT 명령어로 부여된 사용자의 접근 권한을 철회하는 명령어
TCL (Transaction Control Language)
트랜잭션은 일련의 작업을 단일 실행 단위로 그룹화합니다. 각 트랜잭션은 특정 작업으로 시작하여 그룹의 모든 작업이 성공적으로 완료되면 종료됩니다. 작업 중 하나라도 실패하면 트랜잭션이 실패합니다. 따라서 트랜잭션에는 성공 또는 실패라는 두 가지 결과만 있습니다.
- BEGIN
- 트랜잭션을 엶
- COMMIT
- 트랜잭션을 커밋
- ROLLBACK
- 오류 발생 시 트랜잭션을 롤백
- SAVEPOINT
- 트랜잭션 내 세이브 포인트를 설정
DDL vs. DML
DDL의 경우 데이터 구조를 정의하는 데이터 정의 언어
DML의 경우 데이터 자체를 조작하는 데 사용되는 데이터 조작 언어 - 내용 변경
https://www.geeksforgeeks.org/difference-between-ddl-and-dml-in-dbms/
'Database' 카테고리의 다른 글
[DB] 프로젝트 데이터베이스 모델링 기록 (14) | 2023.07.24 |
---|---|
[Database] Cluster (0) | 2023.06.21 |
[Database] RAC, HA (0) | 2023.06.21 |