Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- sqld
- NoSQL
- 스프링부트
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 영속성 컨텍스트
- 레디스
- in-memory
- 실행 컨텍스트
- 스프링 시큐리티
- 정처기
- 다이나믹프로그래밍
- DB파티션
- pagination
- 캐시
- cache
- 게시판
- JPA
- db partition
- cursor
- 스프링 부트
- 호이스팅
- VMware
- 정보처리기사
- 자바의 정석
- SQL
- Redis
- document database
- Spring Boot
- spring security
- 동적계획법
Archives
- Today
- Total
FreeHand
[MySQL] DELETE 본문
DELETE문 기본 구조
DELETE FROM 테이블 WHERE 조건
WHERE절을 생략하면 모든 행의 데이터가 삭제된다.

test 테이블에서 '로제'를 삭제하려면 다음과 같이 할 수 있다.
DELETE FROM test WHERE userName = '로제';

마지막 행의 '로제'가 테이블에서 삭제되었다.
데이터를 삭제하는 방법은 DELETE, DROP, TRUNCATE문으로 크게 3가지가 있다.
CREATE TABLE ex1 (SELECT * FROM employees.employees);
CREATE TABLE ex2 (SELECT * FROM employees.employees);
CREATE TABLE ex3 (SELECT * FROM employees.employees);
대략 30만 건이 있는 employees 테이블을 복사해서 3개의 테이블을 만들었다.
DELETE FROM ex1;
DROP TABLE ex2;
TRUNCATE TABLE ex3;

DELETE를 사용했을 때만 시간이 오래 걸리는 것을 확인할 수 있다.
DML인 DELETE는 트랜잭션 로그를 기록하는 작업 때문에 오래 걸린다.
반면 DDL인 DROP과 TRUNCATE는 트랜잭션을 발생시키지 않아 빠르다.
DROP은 테이블 자체를 삭제하지만 TRUNCATE는 테이블의 전체 데이터를 삭제하고 테이블 구조는 남긴다.
'Database > RDB' 카테고리의 다른 글
| [MySQL] 데이터 타입과 형 변환 (0) | 2023.11.05 |
|---|---|
| [MySQL] WITH절과 CTE (0) | 2023.11.05 |
| [MySQL] UPDATE (0) | 2023.11.01 |
| [MySQL] INSERT (0) | 2023.10.31 |
| [MySQL] GROUP BY와 집계 함수 (0) | 2023.10.30 |