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

Python을 사용하여 MySQL 테이블에 일부 레코드가 있는지 여부를 어떻게 테스트할 수 있습니까?

<시간/>

특정 레코드가 테이블에 있는지 여부를 확인해야 하는 경우가 있습니다.

이것은 EXISTS 문을 사용하여 수행할 수 있습니다. EXISTS 문은 다음 하위 쿼리가 하나 이상의 레코드를 반환하는 경우 true를 반환합니다.

구문

SELECT * FROM table_name WHERE EXISTS(sub_query)

하위 쿼리가 하나 이상의 행을 반환하면 EXISTS는 true를 반환합니다.

파이썬에서 MySQL을 사용하여 테이블에 레코드가 있는지 확인하는 단계

  • MySQL 커넥터 가져오기

  • connect()를 사용하여 커넥터와 연결 설정

  • cursor() 메소드를 사용하여 커서 객체 생성

  • 적절한 mysql 문을 사용하여 쿼리 생성

  • execute() 메서드를 사용하여 SQL 쿼리 실행

  • 연결을 끊다

"Sales"라는 이름의 다음 테이블이 있다고 가정합니다.

+------------+---------+| 세일_가격 | 세금 |+------------+---------+| 1000 | 200 || 500 | 100 || 50 | 50 || 180 | 180화 

 import mysql.connectordb=mysql.connector.connect(host="your host", user="your username", password="yourpassword",database="database_name")cursor=db.cursor()query=" SELECT sale_price FROM Sales WHERE EXISTS(SELECT * FROM Sales WHERE tax>150)"cursor.execute(query)rows=cursor.fetchall() 행 행:print(row)db.close()

세금이 150보다 큰 레코드가 있으므로 위 코드의 하위 쿼리는 TRUE를 반환합니다. 따라서 EXISTS 문은 true를 반환합니다. 세금이 150보다 큰 레코드가 없으면 EXISTS는 false를 반환했을 것입니다.

출력

1000500700