데이터베이스는 체계적으로 저장되고 관리되는 데이터의 집합입니다.
백엔드에서는 웹 애플리케이션이 데이터를 저장, 조회, 수정, 삭제(CRUD) 할 때 주로 데이터베이스를 사용합니다.
📌 백엔드에서 데이터베이스가 필요한 이유
- 데이터를 영구적으로 저장하고 관리할 수 있음
- 여러 사용자가 동시에 접근 가능
- 효율적인 검색, 필터링, 정렬 기능 제공
- 보안, 무결성 유지
🔸 대표적인 RDBMS (관계형 DB 관리 시스템)
🔸 예시 (회원 테이블 - Users)

SELECT * FROM Users WHERE id = 1;

🔸 예시 (MongoDB)
{
"_id": 1,
"name": "홍길동",
"email": "hong@example.com"
}
db.users.find({ "name": "홍길동" });

SQL(Structured Query Language)은 관계형 데이터베이스에서 데이터를 다룰 때 사용하는 언어입니다.
🔹 1) 데이터 조작 (DML - Data Manipulation Language)
SELECT * FROM Users WHERE name = '홍길동';
INSERT INTO Users (name, email) VALUES ('이순신', 'lee@example.com');
UPDATE Users SET email = 'newemail@example.com' WHERE id = 1;
DELETE FROM Users WHERE id = 2;
🔹 2) 데이터 정의 (DDL - Data Definition Language)
CREATE TABLE Users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
email VARCHAR(255) UNIQUE
);
ALTER TABLE Users ADD COLUMN phone VARCHAR(20);
DROP TABLE Users;
🔹 3) 데이터 제어 (DCL - Data Control Language)
GRANT SELECT, INSERT ON Users TO 'admin'@'localhost';
REVOKE INSERT ON Users FROM 'admin'@'localhost';
🔹 4) 트랜잭션 제어 (TCL - Transaction Control Language)
START TRANSACTION;
UPDATE Users SET email = 'error@example.com' WHERE id = 1;
ROLLBACK; -- 변경 사항 취소
COMMIT; -- 변경 사항 확정
백엔드에서 데이터베이스는 웹 애플리케이션의 핵심 데이터 저장소 역할을 합니다.
적절한 데이터베이스 모델링과 SQL 활용이 웹 서비스의 성능, 확장성, 안정성을 결정합니다.