CRUD
기본 정보
- 명칭: CRUD
- 영문명: Create, Read, Update, Delete
- 분류: 데이터 처리 기본 개념
- 주요 용도: 데이터 생성, 조회, 수정, 삭제
- 관련 주제: #CRUD #데이터베이스 #SQL #RESTAPI #백엔드
개요
CRUD는 데이터를 관리하는 가장 기본적인 네 가지 기능(Create, Read, Update, Delete)의 약자이다.
대부분의 웹사이트와 모바일 앱은 CRUD 기능을 기반으로 동작한다.
예를 들어 게시판에서는 글 작성(Create), 글 조회(Read), 글 수정(Update), 글 삭제(Delete)가 모두 CRUD에 해당한다.
CRUD 구조
사용자
↓
웹 페이지 / 앱
↓
API
↓
Service
↓
Database
↓
CRUD 처리
CRUD 의미
| 약어 | 의미 | 설명 |
|---|---|---|
| C | Create | 데이터 생성 |
| R | Read | 데이터 조회 |
| U | Update | 데이터 수정 |
| D | Delete | 데이터 삭제 |
Create
새로운 데이터를 생성하는 기능이다.
예시
- 회원가입
- 게시글 작성
- 상품 등록
- 주문 생성
SQL
INSERT INTO member (
name,
age
)
VALUES (
'홍길동',
30
);
REST API
POST /api/users
Read
저장된 데이터를 조회하는 기능이다.
예시
- 게시글 보기
- 회원 목록
- 상품 검색
- 주문 조회
SQL
SELECT *
FROM member;
REST API
GET /api/users
Update
기존 데이터를 수정하는 기능이다.
예시
- 회원 정보 수정
- 게시글 수정
- 상품 가격 변경
- 주문 상태 변경
SQL
UPDATE member
SET
name='김철수'
WHERE id=1;
REST API
PUT /api/users/1
또는
PATCH /api/users/1
Delete
기존 데이터를 삭제하는 기능이다.
예시
- 회원 탈퇴
- 게시글 삭제
- 상품 삭제
- 주문 취소
SQL
DELETE
FROM member
WHERE id=1;
REST API
DELETE /api/users/1
CRUD 흐름
Create
↓
Read
↓
Update
↓
Delete
데이터의 전체 생명주기를 표현하는 기본 모델이다.
게시판 예시
| 기능 | CRUD |
|---|---|
| 글쓰기 | Create |
| 글읽기 | Read |
| 글수정 | Update |
| 글삭제 | Delete |
회원 관리 예시
| 기능 | CRUD |
|---|---|
| 회원가입 | Create |
| 회원조회 | Read |
| 정보수정 | Update |
| 회원탈퇴 | Delete |
쇼핑몰 예시
| 기능 | CRUD |
|---|---|
| 상품 등록 | Create |
| 상품 조회 | Read |
| 상품 수정 | Update |
| 상품 삭제 | Delete |
SQL과 CRUD 관계
| CRUD | SQL |
|---|---|
| Create | INSERT |
| Read | SELECT |
| Update | UPDATE |
| Delete | DELETE |
REST API와 CRUD 관계
| CRUD | HTTP Method |
|---|---|
| Create | POST |
| Read | GET |
| Update | PUT / PATCH |
| Delete | DELETE |
MVC 구조에서 CRUD
View
↓
Controller
↓
Service
↓
Repository
↓
Database
CRUD 처리는 일반적으로 Service 계층을 거쳐 Repository 또는 DAO에서 수행된다.
ORM과 CRUD
ORM(Object Relational Mapping)을 사용하면 SQL 없이 CRUD를 수행할 수 있다.
예시
userRepository.save(user);
User.create({
name:"홍길동"
});
Soft Delete
실제 데이터를 삭제하지 않고 삭제 상태만 표시하는 방식이다.
예시
deleted_at
2026-06-18
또는
is_deleted = 1
복구가 가능하다는 장점이 있다.
CRUD 장점
- 구조가 단순함
- 대부분의 시스템에서 공통 사용
- 유지보수가 쉬움
- 데이터 관리가 체계적
- API 설계와 잘 어울림
CRUD 한계
- 복잡한 비즈니스 로직 표현에는 부족할 수 있음
- 대규모 시스템에서는 CQRS 등 다른 패턴이 사용되기도 함
- 단순 CRUD만으로는 이벤트 기반 처리가 어려움
실무 메모
실무에서는 다음과 같은 방식이 권장된다.
- 삭제 기능은 Soft Delete 우선 검토
- 입력값 검증 필수
- 트랜잭션(Transaction) 적용
- 변경 이력(Log) 저장
- 권한(Role) 검사 수행
- API 응답 형식 표준화
- 예외 처리 공통화
- SQL Injection 방지
- 삭제 전 연관 데이터 확인
- 감사 로그(Audit Log) 관리
CRUD와 함께 사용하는 기술
대표 활용 사례
- 게시판
- 회원 관리
- ERP
- 쇼핑몰
- 블로그
- 재고 관리
- 프로젝트 관리
- 관리자(Admin) 시스템
관련 문서
출처
- MDN Web Docs
- RESTfulAPI.net
- 데이터베이스 설계 일반 원칙