본문 바로가기
자격증/SQLD

[SQLD] Part 3: SQL 기본

by rnasterofmysea 2025. 2. 14.
반응형

[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의 주요 역할

  1. 데이터 정의(Definition): 테이블을 생성하고, 구조를 수정하며, 삭제하는 기능을 제공
  2. 데이터 조작(Manipulation): 데이터를 삽입, 수정, 삭제, 조회하는 기능을 수행
  3. 데이터 제어(Control): 데이터 접근 권한을 설정하고 트랜잭션을 관리

1.2 SQL의 특징

  1. 비절차적 언어: SQL은 사용자가 원하는 데이터를 선언적으로 요청하면, 데이터베이스 관리 시스템(DBMS)이 내부적으로 처리함
  2. 관계형 데이터베이스 관리: SQL은 관계형 데이터베이스(RDBMS)를 기반으로 설계됨
  3. 표준화된 언어: 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

 

 


 

💡 도움이 되셨다면 댓글과 공감 부탁드립니다! 😊
📌 더 많은 알고리즘 풀이와 프로그래밍 자료는 블로그에서 확인하세요!
✉️ 문의나 피드백은 댓글이나 이메일로 남겨주세요.

 

반응형