Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 테이블에서 모든 중복 레코드를 삭제하는 방법은 무엇입니까?

<시간/>

테이블에서 중복 레코드를 삭제하려면 DELETE 명령을 사용할 수 있습니다. 이제 테이블을 생성해 보겠습니다.

mysql> 테이블 생성 DuplicateDeleteDemo -> ( -> id int, -> name varchar(100) -> );쿼리 OK, 영향을 받는 행 0개(0.60초)

"DuplicateDeleteDemo" 테이블에 레코드 삽입:여기에서 "John"을 중복 레코드로 3번 추가했습니다.

mysql> insert into DuplicateDeleteDemo values(1,'John');Query OK, 1개의 row가 영향을 받았습니다(0.11초)mysql> insert into DuplicateDeleteDemo values(1,'John');Query OK, 1개의 row가 영향을 받았습니다(0.14초). )mysql> DuplicateDeleteDemo 값에 삽입(2,'Johnson');쿼리 확인, 1행 영향(0.13초)mysql> DuplicateDeleteDemo 값에 삽입(1,'John');쿼리 OK, 1행 영향(0.14초) 

모든 레코드를 표시하려면 SELECT 문을 사용하십시오.

mysql> DuplicateDeleteDemo에서 *선택;

다음은 중복 레코드가 있는 출력입니다.

+------+---------+| 아이디 | 이름 |+------+---------+| 1 | 존 || 1 | 존 || 2 | 존슨 || 1 | John |+-----+---------+4행 세트(0.00초)

위의 출력에서 ​​테이블에 4개의 레코드가 있으며 그 중 3개의 레코드가 중복됩니다.

중복 레코드를 삭제하려면 DELETE를 누르세요.

mysql> id=1인 DuplicateDeleteDemo에서 삭제, 쿼리 확인, 3개 행이 영향을 받습니다(0.19초)

기록이 삭제되었는지 확인하려면 모든 기록을 다시 표시해 보겠습니다.

mysql> DuplicateDeleteDemo에서 *선택;

다음 출력은 모든 중복 레코드가 삭제되었음을 표시합니다.

+------+---------+| 아이디 | 이름 |+------+---------+| 2 | Johnson |+------+---------+1행 세트(0.00초)