方法1: 文字列の結合演算子を使用する方法 この方法では、Pythonの文字列結合演算子(+)を使用してリストの要素を連結し、SQLクエリ文字列を作成します。
my_list = ['apple', 'banana', 'orange']
query_string = 'SELECT * FROM fruits WHERE name IN (' + ', '.join(my_list) + ');'
print(query_string)
出力:
SELECT * FROM fruits WHERE name IN ('apple', 'banana', 'orange');
方法2: f文字列を使用する方法 Pythonのf文字列を使用すると、変数を直接文字列に挿入できます。この方法を使用すると、コードがより読みやすくなります。
my_list = ['apple', 'banana', 'orange']
query_string = f"SELECT * FROM fruits WHERE name IN ({', '.join(my_list)});"
print(query_string)
出力:
SELECT * FROM fruits WHERE name IN ('apple', 'banana', 'orange');
方法3: パラメータ化されたクエリを使用する方法 もし、リストの要素がユーザーからの入力など外部から与えられる場合は、SQLインジェクション攻撃を防ぐためにパラメータ化されたクエリを使用することをおすすめします。以下は、Pythonのパラメータ化されたクエリを使用する例です。
my_list = ['apple', 'banana', 'orange']
placeholders = ', '.join(['%s'] * len(my_list))
query_string = f"SELECT * FROM fruits WHERE name IN ({placeholders});"
print(query_string)
出力:
SELECT * FROM fruits WHERE name IN (%s, %s, %s);
これらの方法を使用すると、PythonでリストをSQLクエリ文字列に連結することができます。適切な方法を選択し、プロジェクトの要件に合わせてコードを適用してください。