PostgreSQL 중복 데이터 처리 방법
1808 단어 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 중복 데이터 처리 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redmine 데이터베이스를 MySQL에서 PostgreSQL로 마이그레이션 (보충)Redmine 의 Database 를 MySQL 로 운용하고 있었습니다만, MySQL 5.6 이상이나 MariaDB 에는 , , 이러한 티켓이 수년 동안 방치된 상황을 감안하여, PostgreSQL로 마이그레이션하기...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.