✍ 관계형 데이터베이스에서 데이터 조회 및 조작, DBMS 시스템 관리 기능을 명령하는 언어
✍ SQL 문법은 대,소문자를 구분하지 X
✍ FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY
✍ 작성은 SELECT부터 하지만 실행은 위 순서와 같다.
👉 데이터 정의 언어(DDL: Data Definition Language)
👉 데이터 조작 언어(DML:Data Manipulation Language)
👉 데이터 제어 언어(DCL:Date Control Language)
👉 트랜잭션 제어 언어(TCL: Transaction Control Language)
✍ 데이터베이스의 내부 데이터를 관리하기 위한 언어이다. 데이터를 조회, 추가, 변경, 삭제 등의 작업을 수행하기 위해 사용된다.
✍ SELECT는 DML이 아니라 DQL(Data Query Language)이라고도 한다.
| 용어 | 설명 |
|---|---|
| SELECT | 데이터베이스에서 데이터를 검색 |
| INSERT | 테이블에 데이터를 추가 |
| UPDATE | 테이블 내에 존재하는 데이터를 수정 |
| DELETE | 테이블에서 데이터를 삭제 |
✍ 테이블과 컬럼을 정의하는 명령어로 생성, 수정, 삭제 등의 데이터 전체 골격을 결정하는 역할을 담당한다.
| 용어 | 설명 |
|---|---|
| CREATE | 테이블을 생성 |
| ALTER | 테이블의 구조를 수정 |
| DROP | 테이블을 삭제 |
| RENAME | 테이블의 이름을 변경 |
| TRUNCATE | 테이블을 초기화 |
✍ 데이터를 관리 목적으로 보안, 무결성, 회복, 병행 제어 등을 정의하는데 사용한다. 데이터베이스에 접근하여 읽거나 쓰는 것을 제한할 수 있는 권한을 부여하거나 박탈할 수 있고 트랜잭션을 명시하거나 조작할 수 있다.
| 용어 | 설명 |
|---|---|
| GRANT | 권한 부여 |
| REVOKE | 권한 삭제 |
✍ DCL과 비슷하지만 데이터가 아닌 트랜잭션을 제어할때 사용한다. 논리적인 작업 단위를 묶어 DML에 의해 조작된 결과를 트랜잭션 별로 제어한다.
✍트랜잭션은 데이터베이스의 논리적 연산 단위(하나의 연속적인 업무 단위) - 하나의 트랜잭션에는 하나 이상의 SQL 문장이 포함
✍ 분할 할 수 없는 최소의 단위
✍ ALL OR NOTHING 개념(모두 COMMIT 하거나 ROLLBACK 처리 해야 함)
✍ 원자성(atomicity) : 트랜잭션 정의된 연산들 모두 성공적으로 실행되던지 아니면 전혀 실행되지 않은 상태로 남아 있어야 함
✍일관성(consistency) : 트랜잭션 실행 전 데이터베이스 내용이 잘못되어 있지 않다면 트랜잭션 실행 이후에도 데이터베이스 내용의 잘못이 있으면 안됨
✍고립성(isolation) : 트랜잭션 실행도중 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들어서는 안됨
✍지속성(durability) : 트랜잭션이 성공적으로 수행되면 갱신한 데이터베이스 내용이 영구적으로 저장
| 용어 | 설명 |
|---|---|
| COMMIT | 입력, 수정, 삭제한 데이터에 이상이 없을 경우 데이터를 저장하는 명령어 |
| ROLLBACK | 테이블 내 입력한 데이터나 수정한 데이터, 삭제한 데이터에 대해 변경을 취소하는 명령어 |
| SAVEPOINT | 트랜잭션 내에서 롤백을 부분적으로 수행하기 위해 사용되는 지점을 지정하는 데 사용 |
📌 오라클 데이터베이스를 공부하기 전 간단하게 sql 문법을 정리해봤다. 실제 쿼리문을 짜면서 각각의 문법을 자세하게 명시할 계획이다.
https://velog.io/@alicesykim95/DB-DDL-DML-DCL-TCL%EC%9D%B4%EB%9E%80
인프런 오라클 SQL 데이터베이스 강의