>  기사  >  데이터 베이스  >  Python에서 MySQL을 사용하여 준비된 명령문을 어떻게 효율적으로 실행할 수 있습니까?

Python에서 MySQL을 사용하여 준비된 명령문을 어떻게 효율적으로 실행할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-06 12:44:02865검색

How can I efficiently execute prepared statements with MySQL in Python?

Python에서 MySQL과 함께 준비된 문 사용

Python 코드를 개발할 때 준비된 문을 사용하여 SQL 데이터베이스와 상호 작용해야 하는 경우가 많습니다. 이를 통해 강력한 성능을 발휘하고 SQL 주입 공격으로부터 보호할 수 있습니다.

코드에서 "PREPARE" 및 "EXECUTE" 문을 직접 사용하려고 하면 구문 오류가 발생합니다. Python에는 준비된 문에 대한 자체 메커니즘이 없고 대신 MySQLdb 라이브러리의 기능을 사용해야 하기 때문입니다.

수정된 코드는 다음과 같아야 합니다.

sql = ('INSERT INTO {} (date, time, tag, power) VALUES '
       '(%s, %s, %s, %s)'.format(self.db_scan_table))

for (d, t, tag, power) in <your loop>:
    self.cursor.execute(sql, (d, t, tag, power))

또는, 커서 개체의execute_many() 메서드를 사용하면 여러 행을 한 번에 삽입할 수 있습니다.

data = [(d, t, tag, power) for <your loop>]
self.cursor.executemany(sql, data)

이렇게 하면 특히 대규모 데이터세트의 경우 성능이 크게 향상됩니다.

위 내용은 Python에서 MySQL을 사용하여 준비된 명령문을 어떻게 효율적으로 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.