[MYSQL] 데이터 삭제 DELETE, DROP, TRUNCATE

2024. 11. 19. 18:36·CS/SQL

DELETE, DROP, TRUNCATE는 모두 데이터베이스에서 데이터를 삭제하는 명령어지만, 각각의 목적과 동작 방식이 다르다.

 


DELETE, DROP, TRUNCATE 특징

1. DELETE

  • 테이블에서 특정 조건에 맞는 데이터를 삭제하는 데 사용된다.
  • 삭제한 데이터는 트랜잭션 로그에 기록되므로 롤백이 가능하다.
  • WHERE 절을 사용하여 특정 조건에 맞는 데이터만 삭제할 수 있다.
  • 테이블 구조나 데이터 정의는 영향을 받지 않는다.
  • 삭제 후에도 테이블에 데이터가 남아 있을 수 있다.

 

2. DROP

  • 테이블, 데이터베이스, 또는 다른 객체를 삭제하는 명령어다.
  • 이 명령어를 실행하면 해당 테이블이나 객체 자체가 삭제되고, 복구할 수 없다.
  • 테이블의 모든 데이터와 구조가 완전히 삭제되며, 관련된 모든 인덱스와 제약 조건도 함께 삭제된다.

 

3. TRUNCATE

  • 테이블의 모든 데이터를 삭제하는 명령어로, DELETE와 유사하지만 더 빠르다.
  • 데이터를 하나씩 삭제하지 않고, 테이블을 초기화하는 방식으로 동작한다.
  • 트랜잭션 로그에 적게 기록되므로 성능이 더 좋지만, 롤백이 불가능하며, 삭제된 데이터를 복구할 수 없다.
  • 테이블의 구조는 그대로 유지된다.

 


DELETE 기본 형식 (DELETE 사용 시 조건이 없으면 모든 행이 삭제됨)

DELETE FROM 테이블_이름 WHERE 조건;

 

 

 

DROP 기본 형식 (테이블 자체가 삭제됨)

DROP TABLE 테이블_이름;

 

 

TRUNCATE 기본 형식 (테이블은 남기고 모든 데이터 삭제)

TRUNCATE TABLE 테이블_이름;

'CS > SQL' 카테고리의 다른 글

[MySQL] 명령어 정리  (0) 2024.10.03
'CS/SQL' 카테고리의 다른 글
  • [MySQL] 명령어 정리
seulll
seulll
개인 공부 블로그입니다.
  • seulll
    seulll
    seulll
  • 전체
    오늘
    어제
    • 분류 전체보기 (357) N
      • 코딩테스트 (242) N
        • programmers (python) (161)
        • 백준 (python) (79) N
      • 자료구조 | 알고리즘 (14)
      • 개발 | 프로젝트 (22)
        • Python (4)
        • Java | Spring (8)
        • Android (5)
        • Unity (3)
        • API (4)
      • CS (5) N
        • Network (6)
        • SQL (2)
        • OS (4)
      • 데이터 분석 (14)
      • 기타 (15)
  • 블로그 메뉴

    • 홈
    • 태그
    • 글쓰기
    • 설정
  • 링크

    • GitHub
  • 인기 글

  • 태그

    API
    Boxplot
    대입 표현식
    카카오맵 api
    프렌즈4블록
    코딩테스트
    백엔드 개발자 역량
    백엔드 개발자
    kakao map api
    백엔드
    프로그래머스
    데이터분석
    Greedy
    그리디 알고리즘
    2 x n 타일링
    웹크롤링
    asterisk
    바다코끼리
    오차행렬
    박스플롯
    solving environment
    파이썬
    confusion matrix
    티스토리챌린지
    train_test_split
    모델 성능 평가
    오블완
    카카오맵
    Python
    야근 지수
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
seulll
[MYSQL] 데이터 삭제 DELETE, DROP, TRUNCATE
상단으로

티스토리툴바