[MySQL] 테이블 내 중복 데이터 삭제

2023. 4. 27. 16:36·MySQL

 

서론

테이블에 UNIQUE 제약 조건이 없거나, 모종의 이유(?)로 중복 값이 들어있는 경우가 있다.

아래의 쿼리를 사용하면 pk가 가장 작은 값은 살아남고, 나중에 들어온 중복 값들을 찾아 삭제한다.

이 쿼리를 실행하기 전, 반드시 백업을 해놓고 실행하는 것을 권장한다.

중복 제거 쿼리

DELETE a
FROM [테이블 이름] a, [테이블 이름] b
WHERE a.[pk 컬럼] > b.[pk 컬럼]
 AND a.[중복 값이 들어있는 컬럼] = b.[중복 값이 들어있는 컬럼];

 

주의 사항

  1. `테이블 이름`은 2개를 작성하지만, 테이블 이름은 똑같아야 한다.
  2. 마찬가지로 `pk 컬럼`도 똑같은 이름을 작성해야하며, `중복 값이 들어있는 컬럼`도 마찬가지다.

사용 예시

DELETE a
FROM test_db.user a, test_db.user b
WHERE a.user_id > b.user_id
 AND a.user_email = b.user_email;

'MySQL' 카테고리의 다른 글

[스터디] Real MySQL 8.0 1권 - 5장 트랜잭션과 잠금 정리  (0) 2024.09.23
[MySQL] INSERT 할 때, 마지막 PK 값에서 1씩 증가시키는 방법  (1) 2023.04.27
[MySQL] AUTO_INCREMENT 초기화하는 방법  (0) 2023.04.27
[MySQL] 프로세스 확인과 프로세스 죽이기  (2) 2022.09.30
[MySQL] 계정 조회, 계정 생성, 계정 삭제, 권한 조회, 권한 부여, 권한 삭제  (0) 2022.09.30
'MySQL' 카테고리의 다른 글
  • [MySQL] INSERT 할 때, 마지막 PK 값에서 1씩 증가시키는 방법
  • [MySQL] AUTO_INCREMENT 초기화하는 방법
  • [MySQL] 프로세스 확인과 프로세스 죽이기
  • [MySQL] 계정 조회, 계정 생성, 계정 삭제, 권한 조회, 권한 부여, 권한 삭제
옐리yelly
옐리yelly
전시회에서 도슨트를 따라다니며 작품 해설을 들으면 더 재밌었던 기억들이 있습니다. 글로 더 재밌는 개발이 되도록 노력하고 있습니다.
  • 옐리yelly
    개발 갤러리
    옐리yelly
  • 전체
    오늘
    어제
    • 모든 글 보기 (82)
      • Project (22)
      • Java (4)
      • Spring (6)
      • Kubernetes (6)
      • Docker (2)
      • JPA (2)
      • Querydsl (2)
      • MySQL (8)
      • ElasticSearch (7)
      • DevOps (4)
      • Message Broker (3)
      • Git & GitHub (2)
      • Svelte (1)
      • Python (8)
        • Python Distilled (4)
        • Anaconda (1)
        • Django (0)
        • pandas (3)
      • Algorithm (1)
      • Computer Science (0)
      • 내 생각 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    blue-green 배포
    Python
    데드락
    포텐데이
    Spring
    nks
    프로젝트
    Project
    JPA
    RabbitMQ
    MySQL
    리팩토링
    elasticsearch
    docker
    pandas
    성능 테스트
    querydsl
    k8s
    pymysql
    Message Broker
    ncloud
    dataframe
    svelte
    예약 시스템
    커넥션 풀
    devops
    OOP
    비사이드
    gitops
    argocd
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
옐리yelly
[MySQL] 테이블 내 중복 데이터 삭제
상단으로

티스토리툴바