Pandas에서 쿼리를 사용하여 SQL 테이블에서 레코드 삭제

모헤 카르

Pandas SQL 쿼리의 SQL 테이블에서 기존 레코드를 삭제해야합니다. 예를 들어. SQL 테이블 :

Id   Name   Qualification
1    Rick    Lawyer
2    John    Engg
3    Gini    Doctor
4    Bist    Architect
5    mady    lawyer

df :

Id   Name   Qualification
3    Gini    Engg
4    Bist    Lawyer

실시간으로 더 많은 열이 있으므로 업데이트 쿼리를 작성할 수 없기 때문에 팬더에서 내 테이블을 업데이트하는 쿼리를 어떻게 작성합니까? 우리가 할 수있는 한 가지는 먼저 동일한 ID를 가진 행을 삭제 한 다음 df를 테이블로 푸시하는 것입니다.

내가하려는 것은 SQL 테이블에서 레코드를 삭제하는 것입니다. 내가 한 것은

pd.read_sqlquery('''
DELETE FROM TABLE_NAME
WHERE Id in ({})
''').format(df2.Id.to_list())--- 
Getting Error

내 df2 ID를 쿼리에 어떻게 전달할 수 있습니까?

한 가지 옵션은 pandas의 업데이트 된 레코드를 별도의 테이블에 삽입하는 것입니다. 여기서 부르 자 records_updated.

그런 다음 쿼리를 실행하여에서 찾은 ID가있는 원본 테이블 레코드에서 삭제 한 다음 원본 테이블에 레코드 records_updated를 삽입 할 수 있습니다 records_updated.

from sqlalchemy import create_engine
engine = create_engine('sqlite://', echo=False)

# save original records to 'records' table
df0.to_sql('records', con=engine)

# save updated records to 'records_updated' table
df.to_sql('records_updated', con=engine)

# delete updated records from 'records'
engine.execute("DELETE FROM records WHERE Id IN (SELECT Id FROM records_updated)")

# insert updated records from 'records_updated' to 'records'
engine.execute("INSERT INTO records SELECT * FROM records_updated")

# drop 'records table'
engine.execute("DROP TABLE records_updated")

# read from records
print(pd.read_sql('records', con=engine))

    Name Qualification
Id                    
1   Rick        Lawyer
2   John          Engg
5   mady        lawyer
3   Gini          Engg
4   Bist        Lawyer

PS SQL 구문은 방언에 따라 약간 다를 수 있습니다. 일부 방언에서는 DELETE 및 INSERT 작업을 단일 UPSERT로 결합하고 업데이트 된 레코드를 임시 테이블로 저장할 수도 있으므로 수동으로 삭제할 필요가 없습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

codeigniter를 사용하여 테이블에서 레코드 삭제

분류에서Dev

SQLAlchemy를 사용하여 테이블에서 레코드 삭제

분류에서Dev

이 SQL 문을 사용하여 테이블에서 총 레코드를 삭제합니다.

분류에서Dev

SQL 테이블에서 여러 레코드를 삭제하는 방법

분류에서Dev

SQL Server의 여러 테이블에서 많은 레코드를 삭제하는 모범 사례

분류에서Dev

Oracle에서 상관 관계 쿼리를 사용하여 레코드 삭제

분류에서Dev

삽입하기 전에 SQL 서버 테이블에서 레코드 삭제

분류에서Dev

postgres에서 행만 삭제하고 pandas read_sql_query 메서드를 사용하여 테이블을 삭제하지 않는 방법은 무엇입니까?

분류에서Dev

SQL 쿼리를 사용하여 삽입 기가 된 한 시간 후에 테이블에서 행 삭제

분류에서Dev

Teradata bteq SQL은 테이블에서 min (column)을 사용하여 중복 레코드를 제거합니다.

분류에서Dev

SQL 트리거를 사용하여 특정 조건에서 업데이트 한 후 레코드 삭제

분류에서Dev

SQL 테이블에서 그룹의 최대 값이 아닌 레코드를 삭제하는 방법

분류에서Dev

PHP를 사용하여 HTML 테이블에있는 레코드 삭제

분류에서Dev

SQL 테이블에서 레코드를 삭제 한 사람을 추적 할 수 있습니까?

분류에서Dev

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

분류에서Dev

"NOT IN"절을 사용하여 여러 테이블에서 확인하여 하나의 테이블에서 레코드 삭제를 쿼리합니다. 이 쿼리를 더 단순화 할 수 있습니까?

분류에서Dev

JDBC : PreparedStatement를 사용하여 테이블에서 특정 레코드를 어떻게 삭제합니까?

분류에서Dev

Join with PostgreSQL을 사용하여 여러 테이블에서 레코드 삭제

분류에서Dev

PHP Tinker를 사용하여 SQlite에서 DB 레코드 삭제

분류에서Dev

symfony2에서 쿼리를 사용하여 레코드를 삭제하는 방법

분류에서Dev

레코드에서 문자열을 삭제하는 MySQL SQL 쿼리

분류에서Dev

Room SQLITE JOINS를 사용하여 여러 테이블에서 쿼리 삭제

분류에서Dev

테이블에 정의 된 테이블에서 데이터를 삭제하는 SQL 쿼리

분류에서Dev

두 개의 다른 테이블을 처리 할 때 테이블에서 레코드를 삭제하는 방법

분류에서Dev

처음 100 개의 레코드를 유지하여 테이블에서 레코드 삭제

분류에서Dev

Oracle의 테이블에서 중복 레코드를 삭제하는 방법

분류에서Dev

테이블 B에서 이메일이 일치하는 테이블 A의 레코드를 삭제하는 MySQL 쿼리

분류에서Dev

SQL 테이블에서 레코드 삭제 속도

분류에서Dev

단일 쿼리를 사용하여 2 개의 테이블에서 행 삭제

Related 관련 기사

  1. 1

    codeigniter를 사용하여 테이블에서 레코드 삭제

  2. 2

    SQLAlchemy를 사용하여 테이블에서 레코드 삭제

  3. 3

    이 SQL 문을 사용하여 테이블에서 총 레코드를 삭제합니다.

  4. 4

    SQL 테이블에서 여러 레코드를 삭제하는 방법

  5. 5

    SQL Server의 여러 테이블에서 많은 레코드를 삭제하는 모범 사례

  6. 6

    Oracle에서 상관 관계 쿼리를 사용하여 레코드 삭제

  7. 7

    삽입하기 전에 SQL 서버 테이블에서 레코드 삭제

  8. 8

    postgres에서 행만 삭제하고 pandas read_sql_query 메서드를 사용하여 테이블을 삭제하지 않는 방법은 무엇입니까?

  9. 9

    SQL 쿼리를 사용하여 삽입 기가 된 한 시간 후에 테이블에서 행 삭제

  10. 10

    Teradata bteq SQL은 테이블에서 min (column)을 사용하여 중복 레코드를 제거합니다.

  11. 11

    SQL 트리거를 사용하여 특정 조건에서 업데이트 한 후 레코드 삭제

  12. 12

    SQL 테이블에서 그룹의 최대 값이 아닌 레코드를 삭제하는 방법

  13. 13

    PHP를 사용하여 HTML 테이블에있는 레코드 삭제

  14. 14

    SQL 테이블에서 레코드를 삭제 한 사람을 추적 할 수 있습니까?

  15. 15

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

  16. 16

    "NOT IN"절을 사용하여 여러 테이블에서 확인하여 하나의 테이블에서 레코드 삭제를 쿼리합니다. 이 쿼리를 더 단순화 할 수 있습니까?

  17. 17

    JDBC : PreparedStatement를 사용하여 테이블에서 특정 레코드를 어떻게 삭제합니까?

  18. 18

    Join with PostgreSQL을 사용하여 여러 테이블에서 레코드 삭제

  19. 19

    PHP Tinker를 사용하여 SQlite에서 DB 레코드 삭제

  20. 20

    symfony2에서 쿼리를 사용하여 레코드를 삭제하는 방법

  21. 21

    레코드에서 문자열을 삭제하는 MySQL SQL 쿼리

  22. 22

    Room SQLITE JOINS를 사용하여 여러 테이블에서 쿼리 삭제

  23. 23

    테이블에 정의 된 테이블에서 데이터를 삭제하는 SQL 쿼리

  24. 24

    두 개의 다른 테이블을 처리 할 때 테이블에서 레코드를 삭제하는 방법

  25. 25

    처음 100 개의 레코드를 유지하여 테이블에서 레코드 삭제

  26. 26

    Oracle의 테이블에서 중복 레코드를 삭제하는 방법

  27. 27

    테이블 B에서 이메일이 일치하는 테이블 A의 레코드를 삭제하는 MySQL 쿼리

  28. 28

    SQL 테이블에서 레코드 삭제 속도

  29. 29

    단일 쿼리를 사용하여 2 개의 테이블에서 행 삭제

뜨겁다태그

보관