특정 레코드가 테이블에 있는지 여부를 확인해야 하는 경우가 있습니다.
이것은 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