집 >데이터 베이스 >MySQL 튜토리얼 >쿼리 성능을 향상하고 SQL 삽입을 방지하기 위해 Python에서 MySQL과 함께 준비된 문을 어떻게 사용할 수 있습니까?
Python에서 MySQL과 함께 준비된 문 사용
데이터베이스 작업 시 준비된 문을 사용하면 쿼리 성능이 크게 향상될 수 있습니다. Python에서는 준비된 문을 MySQL에서 활용할 수 있습니다.
Python의 매개변수화된 쿼리 형식
Python에서는 다음 형식을 사용하여 매개변수화된 쿼리를 생성할 수 있습니다.
cursor.execute("SELECT FROM tablename WHERE fieldname = %s", [value])
매개변수 표시자 %s는 실제 값에 대한 자리 표시자 역할을 합니다. 다양한 데이터베이스 드라이버는 다양한 매개변수화 스타일을 사용할 수 있습니다. 드라이버에 적합한 스타일을 결정하려면 드라이버 모듈을 가져오고 해당 paramstyle 속성을 인쇄할 수 있습니다.
지원되는 매개변수화 스타일
Python 개선 제안(PEP- 249), 다음 매개변수화 스타일이 지원됩니다:
사용 예
Prepared 문의 사용을 시연하려면 다음을 고려하세요. 예:
import mysql.connector db = mysql.connector.connect( host="localhost", user="username", password="password", database="database_name" ) cursor = db.cursor() # Create a parameterized query parameterized_query = "SELECT * FROM users WHERE name = %s" # Execute the query with the provided parameter cursor.execute(parameterized_query, ("John Doe",)) # Fetch the results results = cursor.fetchall() # Close the cursor and connection cursor.close() db.close()
매개변수화된 쿼리를 사용하면 데이터베이스가 쿼리 계획을 미리 준비할 수 있으므로 SQL 삽입 공격으로부터 코드가 보호되고 쿼리 성능이 향상됩니다.
위 내용은 쿼리 성능을 향상하고 SQL 삽입을 방지하기 위해 Python에서 MySQL과 함께 준비된 문을 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!