Python の MySQL で準備されたステートメントを効率的に実行するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-06 12:44:02
オリジナル
863 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!