私はpysqliteを使用して、キーワードのデータベースと各キーワードに対応する一連のURLを構築および検索しています。データベースを検索するための私の戦略は、SQL ステートメントに 1 つの WHERE 句しか必要ないため、1 つのキーワードでうまく機能します。何かのようなもの:
... WHERE lexicon.word=?", keyword)
ただし、任意の数のキーワードをデータベースに一致させたいと考えています。これは、複数の WHERE 句とそれらの間に OR ステートメントを使用することと同等であると考えています。与えられるキーワードの数がわからないので、特定の数の WHERE 句を想定して、API の置換機能を使用してそれらを埋めることはできません。
Python の文字列挿入操作を使用して、見つけたキーワードごとに WHERE ステートメントを OR ステートメントでマングルできると思います。ただし、インジェクション攻撃の脆弱性につながる可能性があるため、これは非常にハックであると確信しています。
.executemany() 関数の使用も検討しましたが、必要なすべての WHERE 句を含むものではなく、多くの個別の選択を実行することになります。
文字列置換で述べた方法よりも良い方法はありますか? 私はSQLに非常に慣れていないので、私と私の無知をご容赦ください。ありがとう。