>  기사  >  데이터 베이스  >  mysql 데이터베이스에서 중복 레코드를 삭제하는 방법은 무엇입니까?

mysql 데이터베이스에서 중복 레코드를 삭제하는 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-09-03 13:18:5612705검색

데이터베이스에서 중복 레코드를 삭제하는 MySQL 단계: 먼저 중복 데이터를 계산한 다음 "SELECT DISTINCT" 문을 사용하여 중복 데이터를 필터링합니다. 마지막으로 데이터 테이블에 INDEX 및 PRIMAY KEY를 추가하여 테이블에서 중복 레코드를 삭제합니다.

mysql 데이터베이스에서 중복 레코드를 삭제하는 방법은 무엇입니까?

일반 MySQL 데이터 테이블에는 중복 데이터가 있을 수 있으며, 경우에 따라서는 허용되지 않습니다. 이때 이러한 중복 데이터를 찾아서 삭제해야 합니다. 자세한 시술 방법은 입니다!

관련 학습 권장 사항: mysql 튜토리얼(동영상)

방법 1: 테이블에 중복 데이터가 표시되지 않도록 방지

테이블에 데이터가 추가되지 않은 경우 테이블에 지정된 필드를 설정할 수 있습니다. MySQL 데이터 테이블 데이터 무결성을 보장하려면 PRIMARY KEY(기본 키) 또는 UNIQUE(***) 인덱스를 사용하세요.

예를 들어, 학생 정보 테이블에는 학생 번호 번호가 중복될 수 없습니다. 학생 번호 번호는 기본 키로 설정되어야 하며 기본값은 NULL일 수 없습니다.

CREATE TABLE student 
( 
no CHAR(12) NOT NULL, 
name CHAR(20), 
sex CHAR(10), 
PRIMARY KEY (no) 
);

방법 2: 중복 값 필터링 및 삭제

데이터 테이블의 원본 데이터에 대해 중복 데이터를 제거하려면 중복 데이터 검색, 필터링, 삭제 단계를 거쳐야 합니다.

1. 중복 데이터 계산

mysql> SELECT COUNT(*) as repetitions,no 
-> FROM student 
-> GROUP BY no 
-> HAVING repetitions > 1;

위 쿼리 문은 학생 테이블의 중복 레코드 수를 반환합니다.

2. 중복 데이터 필터링

고유한 데이터를 읽어야 하는 경우 SELECT 문에서 DISTINCT 키워드를 사용하여 중복 데이터를 필터링할 수 있습니다.

mysql> SELECT DISTINCT no 
-> FROM student;

GROUP BY를 사용하여 데이터 테이블에서 중복되지 않은 데이터를 읽을 수도 있습니다

mysql> SELECT no 
-> FROM student 
-> GROUP BY (no);

3. 중복 데이터 삭제

데이터 테이블에서 중복 데이터를 삭제하려면 다음 SQL 문을 사용할 수 있습니다.

mysql> CREATE TABLE tmp SELECT no, name, sex FROM student GROUP BY (no, sex); 
mysql> DROP TABLE student; 
mysql> ALTER TABLE tmp RENAME TO student;

데이터 테이블에서 중복된 데이터를 삭제할 수도 있습니다. 테이블에 INDEX(인덱스)와 PRIMAY KEY(기본 키)를 추가하면 테이블에서 중복된 레코드를 삭제하는 방법은 다음과 같습니다.

mysql> ALTER IGNORE TABLE student 
-> ADD PRIMARY KEY (no);

이 글은 php 중국어에서 따왔습니다. 웹사이트 mysql 그래픽 튜토리얼 채널, 학습에 오신 것을 환영합니다!

위 내용은 mysql 데이터베이스에서 중복 레코드를 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.