[SQLD] Part 3: SQL 기본
데이터베이스를 다루는 핵심 기술 중 하나는 SQL(Structured Query Language)이며, SQL은 데이터를 정의하고, 조작하고, 제어하는 역할을 합니다. SQLD Part 2에서는 SQL의 기초부터 실전 활용까지 다루며, 효과적인 데이터 처리 방법을 학습합니다.
이 장에서는 SQL의 개념과 역할 및 SQL 명령어의 종류(DDL, DML, DCL, TCL)을 시작으로, 점진적으로 SELECT 문, 조인, 서브쿼리, 집계 함수, 트랜잭션 관리 등을 다룰 예정입니다.
SQLD Chapter 2-1: SQL의 개념과 역할 & SQL 명령문의 종류
1. SQL의 개념과 역할
SQL(Structured Query Language)은 관계형 데이터베이스(RDBMS)에서 데이터를 정의, 조작, 제어하는 언어입니다. 데이터베이스의 데이터를 관리하고 활용하기 위해 필수적으로 사용됩니다.
1.1 SQL의 주요 역할
- 데이터 정의(Definition): 테이블을 생성하고, 구조를 수정하며, 삭제하는 기능을 제공
- 데이터 조작(Manipulation): 데이터를 삽입, 수정, 삭제, 조회하는 기능을 수행
- 데이터 제어(Control): 데이터 접근 권한을 설정하고 트랜잭션을 관리
1.2 SQL의 특징
- 비절차적 언어: SQL은 사용자가 원하는 데이터를 선언적으로 요청하면, 데이터베이스 관리 시스템(DBMS)이 내부적으로 처리함
- 관계형 데이터베이스 관리: SQL은 관계형 데이터베이스(RDBMS)를 기반으로 설계됨
- 표준화된 언어: ANSI(미국 표준 협회)와 ISO(국제 표준화 기구)에 의해 표준이 정의됨
2. SQL 명령문의 종류
SQL은 DDL(Data Definition Language), DML(Data Manipulation Language), DCL(Data Control Language), TCL(Transaction Control Language)로 분류됩니다.
2.1 DDL (Data Definition Language) – 데이터 정의 언어
DDL은 데이터베이스의 구조(스키마)를 정의하거나 변경하는 명령어입니다.
- CREATE : 새로운 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성
- ALTER : 기존 객체의 구조를 변경(컬럼 추가/삭제, 제약 조건 변경 등)
- DROP : 기존 객체를 삭제
- TRUNCATE : 테이블의 모든 데이터를 삭제하되, 구조는 유지 (롤백 불가능)
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY,
Name VARCHAR(50),
Email VARCHAR(100)
);
ALTER TABLE Customers ADD PhoneNumber VARCHAR(20);
2.2 DML (Data Manipulation Language) – 데이터 조작 언어
DML은 데이터베이스에 저장된 데이터를 조작(삽입, 조회, 수정, 삭제)하는 명령어입니다.
- INSERT : 새로운 데이터를 추가
- SELECT : 데이터를 조회
- UPDATE : 기존 데이터를 수정
- DELETE : 데이터를 삭제
INSERT INTO Customers (CustomerID, Name, Email) VALUES (1, '홍길동', 'hong@example.com');
SELECT * FROM Customers WHERE Name = '홍길동';
UPDATE Customers SET Email = 'honggil@example.com' WHERE CustomerID = 1;
DELETE FROM Customers WHERE CustomerID = 1;
2.3 DCL (Data Control Language) – 데이터 제어 언어
DCL은 사용자의 데이터 접근 권한을 제어하는 명령어입니다.
- GRANT : 특정 사용자에게 권한 부여
- REVOKE : 특정 사용자의 권한 제거
GRANT SELECT, INSERT ON Customers TO user1;
REVOKE INSERT ON Customers FROM user1;
2.4 TCL (Transaction Control Language) – 트랜잭션 제어 언어
TCL은 트랜잭션을 제어하는 명령어입니다.
- COMMIT : 트랜잭션의 변경 사항을 확정 (저장)
- ROLLBACK : 트랜잭션 실행을 취소하고 이전 상태로 복구
- SAVEPOINT : 특정 시점으로 롤백할 수 있도록 저장점 설정
BEGIN TRANSACTION;
UPDATE Customers SET Email = 'test@example.com' WHERE CustomerID = 1;
SAVEPOINT sp1;
DELETE FROM Customers WHERE CustomerID = 2;
ROLLBACK TO sp1; -- sp1 이후 실행된 명령어만 취소
COMMIT;
3. 마무리
이번 장에서는 SQL의 개념과 역할 및 SQL 명령어의 종류(DDL, DML, DCL, TCL)에 대해 학습했습니다.
내용 업데이트 했습니다.
2025.02.13 - [자격증/SQLD] - [SQLD] Chapter 3-1 SELECT 문 기본 구조(feat. 연산자 & 함수)
[SQLD] Chapter 3-1 SELECT 문 기본 구조(feat. 연산자 & 함수)
해당 SQL문은 Oracle DB의 SQL문입니다.SQLD Chapter 3-1: SELECT 문 기본 구조 & 함수 활용1. SELECT 기본SQL에서 데이터를 조회하기 위해 가장 기본적으로 사용되는 명령어가 SELECT 문입니다. SELECT 문을 사용하
rnasterofmysea.tistory.com
2025.02.13 - [자격증/SQLD] - [SQLD] Chapter 3-2 GROUP BY & HAVING & ORDER
[SQLD] Chapter 3-2 GROUP BY & HAVING & ORDER
1. GROUP BY 개념GROUP BY 절은 데이터를 특정 기준에 따라 그룹화하여 집계 연산을 수행할 때 사용됩니다. SUM(), AVG(), COUNT(), MAX(), MIN()과 같은 집계 함수(Aggregate Function)와 함께 사용됩니다.1.1 GROUP BY
rnasterofmysea.tistory.com
2025.02.13 - [자격증/SQLD] - [SQLD] Chapter 3-3: JOIN (조인)의 모든 것
[SQLD] Chapter 3-3: JOIN (조인)의 모든 것
이전 포스트:2025.02.13 - [자격증/SQLD] - [SQLD] Chapter 3-2 GROUP BY & HAVING & ORDER [SQLD] Chapter 3-2 GROUP BY & HAVING & ORDER1. GROUP BY 개념GROUP BY 절은 데이터를 특정 기준에 따라 그룹화하여 집계 연산을 수행할 때
rnasterofmysea.tistory.com
💡 도움이 되셨다면 댓글과 공감 부탁드립니다! 😊
📌 더 많은 알고리즘 풀이와 프로그래밍 자료는 블로그에서 확인하세요!
✉️ 문의나 피드백은 댓글이나 이메일로 남겨주세요.
'자격증 > SQLD' 카테고리의 다른 글
[SQLD] 3-2: GROUP BY & HAVING & ORDER (0) | 2025.02.16 |
---|---|
[SQLD] 3-1: SELECT 와 WHERE(feat. 연산자 & 함수 & 조건문) (0) | 2025.02.15 |
[SQLD] 2-2: 트랜잭션(Transaction)/ 널(NULL) / (0) | 2025.02.14 |
[SQLD] 2-1: 정규화(Normalization)와 반정규화(Denormalization) (0) | 2025.02.13 |
[SQLD ] 1-3: 관계와 식별자 (feat. ERD 표기) (0) | 2025.02.13 |