リストを使用した安全な MySQL IN 句の作成
MySQL データベースと Python を使用する場合、リストを内部分解して使用すると便利です。 IN 句。ただし、SQL インジェクションの脆弱性を防ぐために、これを安全に行うことが不可欠です。
値のリストを含む文字列を手動で構築する代わりに、クエリ パラメーター メカニズムを使用することをお勧めします。これにより、引用符やエスケープを処理することなく、リストをデータベース ドライバーに直接渡すことができます。
これを実現する方法は次のとおりです。
format_strings = ','.join(['%s'] * len(list_of_ids)) cursor.execute("DELETE FROM foo.bar WHERE baz IN (" + format_strings + ")", tuple(list_of_ids))
このメソッドを使用すると、次のことができます。 MySQL がクエリのパラメータ化を処理できるようにすることで、SQL インジェクションを回避します。データは前処理なしでクエリに直接挿入されるため、安全性と効率性の両方が保証されます。
以上がPython でリストを使用して MySQL IN 句を安全に作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。