PostgreSQL 중복 데이터 처리 방법

PostgreSQL 소개
PostgreSQL 은 특성 이 매우 완 비 된 자유 소프트웨어 의 대상 인 관계 형 데이터베이스 관리 시스템(ORDBMS)으로 캘 리 포 니 아 대 컴퓨터 학과 에서 개발 한 POSTGRES,4.2 버 전 을 기반 으로 한 대상 관계 형 데이터베이스 관리 시스템 이다.POSTGRES 의 많은 선두 개념 은 비교적 늦 은 시간 에 만 상업 사이트 데이터 베이스 에 나타난다.PostgreSQL 은 대부분의 SQL 표준 을 지원 하고 복잡 한 조회,외부 키,트리거,보기,사무 완전 성,다 중 버 전 병행 제어 등 다른 현대적 인 특성 을 많이 제공 합 니 다.마찬가지 로 PostgreSQL 도 새로운 데이터 형식,함수,조작 자,집합 함수,색인 방법,프로 세 스 언어 등 여러 가지 방법 으로 확장 할 수 있다.또한 허가증 의 유연성 때문에 누구나 포스트 greSQL 을 무료 로 사용,수정,배포 할 수 있다.
우리 가 postgresql 데이터 베 이 스 를 사용 할 때,만약 한 장의 데이터 시트 가 어떠한 제약 도 하지 않 은 상태 에서 몇 개의 똑 같은 데이터,즉 중복 데이터 가 나타 날 수 있 습 니 다.다음 그림 에서 보 듯 이:

그럼 저희 가 그 중 에 두 개 를 삭제 하려 면 어떻게 해 야 하나 요?첫 번 째 는 표 의 내용 을 비우 고 INSERT INTO 문 구 를 사용 하여 표 에 내용 을 삽입 할 수 있 습 니 다.이 방법 은 가능 하지만 전문가 에 게 는 추천 하지 않 는 다.
두 번 째 는 pg 데이터베이스 에 있 는 ctid(물리 적 저장 과 관련 이 있 으 며,어느 데이터 블록 에 있 는 위치 이동 위 에 기록 되 어 있 는 지)를 결합 하여 삭제 할 수 있 습 니 다.여기 서 우 리 는 여전히 SELECT 문 구 를 사용 하여 조 회 를 진행 합 니 다.

이렇게 하면 우 리 는 유일한 표지 의 ctid 를 사용 하여 중복 데 이 터 를 삭제 할 수 있 고 다음 과 같은 두 가지 방식 으로 tb 를 삭제 할 수 있다.5201351 표 중 2 개의 데이터.

DELETE FROM tb_5201351 WHERE ctid in ('(0,2)','(0,3)');
위의 방법 원 리 는 우리 가 지정 한 ctid 에 대응 하 는 데 이 터 를 삭제 하려 고 순서대로 입력 하 는 것 입 니 다.데이터 가 많 으 면 다음 과 같은 문 구 를 사용 하여 삭제 할 수 있 습 니 다.

DELETE FROM tb_5201351 WHERE ctid not in (select min(ctid) from tb_5201351);
실행 후의 결 과 는 다음 그림 과 같다.

여기에 PostgreSQL 중복 데이터 처리 방법 에 관 한 글 이 소개 되 었 습 니 다.더 많은 관련 PostgreSQL 중복 데이터 처리 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지원 바 랍 니 다!

좋은 웹페이지 즐겨찾기