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 중국어 웹사이트의 기타 관련 기사를 참조하세요!