SQL 기초_2

Modesty·2025년 2월 14일

SQL기초

목록 보기
2/3

SQL(Structured Query Language) 분류

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

→ DB의 논리/물리적 데이터 구조를 정의

명령어사용법
CREATE(생성)CREATE TABLE/SCHEMA/VIEW/INDEX
ALTER(수정)ALTER TABLE [테이블명] 명령어
DROP(삭제)DROP TABLE/SHCEMA/VIEW/INDEX

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

→ DB에 저장된 데이터를 조작하는 역할

명령어사용법
SELECT(조회)SELECT FROM 테이블명 [WHERE 조건]
INSERT(삽입)INSERT INTO 테이블명 VALUES (데이터)
DELETE(삭제)DELETE FROM 테이블명 [WHERE 조건]
UPDATE(수정)UPDATE 테이블명 SET 속성명=데이터[WHERE 조건]

※ SELECT구문 작성 순서

1. SELECT 컬럼명
2. FROM 테이블명
3. JOIN 테이블명 ON 조건
4. WHERE 조건식
5. GROUP BY 컬럼명
6. HAVING 조건식
7. ORDER BY 컬럼명
8.LIMIT/OFFSET 개수

※ SELECT구문 수행 순서

DB에서 내부적으로 쿼리를 실행하는 순서
1. 먼저 FROM 테이블명에서 사용할 테이블이 DB에 존재하는지 체크 후, SELECT권한이 없다면 오류 발생
2. 그 다음, WHERE 조건식에서 특정 조건들에 해당하는 row들만 가져온 후
3. GROUP BY 컬럼명에서 해당하는 컬럼으로 GROUP BY
4. HAVING 조건식에서는 GROUP BY로 그룹화된 데이터에 조건을 적용해 그룹별 필터링
5. SELECT 컬럼명에서는 row들 중 어떤 컬럼을 조회할 지 체크
6. 맨 마지막에 ORDER BY절을 통해 컬럼에 따라 정렬

-- SELECT 수행 순서
1. FROM 테이블명
(2-0. JOIN 테이블명 ON 조건) 
-- JOIN문이 있다면 2번째로 실행
2. WHERE 조건식
3. GROUP BY 컬럼명
4. HAVING 조건식
5. SELECT 컬럼명
6. ORDER BY 컬럼명
(7. LIMIT) LIMIT가 있다면 맨 마지막 실행
-- (LIMIT는 결과의 개수 제한)

출처 : SQL전문가 정미나_SELECT쿼리 수행 순서


사진 출처: ByteByteGo_Understand The SQL Execution Order

③ 데이터 제어어(DCL : Data Control Language)

-> DB에서 데이터에 접근을 제어하는 역할

명령어사용법
GRANT(권한 부여)GRANT [권한] ON 객체 TO 사용자
REVOKE(권한 회수)REVOKE [권한] ON 객체 FROM 사용자

④ TCL(Transaction Control Language)

-> 트랜잭션을 관리하는 역할

  • 트랜잭션(Transaction)을 제어하는 명령어로, 데이터베이스에서 변경 사항을 저장하거나 취소할 때 사용
명령어설명
COMMIT(생성)트랜잭션 확정 (변경 사항 저장)
ROLLBACK(수정)랜잭션 취소 (변경 사항 되돌리기)
SAVEPOINT트랜잭션 내 특정 지점 저장
profile
마음 다잡기

0개의 댓글