ホームページ > データベース > mysql チュートリアル > Python リストをパラメータとして使用して SQL データベースにクエリを実行するにはどうすればよいですか?

Python リストをパラメータとして使用して SQL データベースにクエリを実行するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-20 10:26:09
オリジナル
781 人が閲覧しました

How Can I Query an SQL Database Using a Python List as a Parameter?

SQL クエリのパラメータとして Python リストを使用する

このガイドでは、Python リストを使用して SQL データベースに効率的にクエリを実行し、パラメーター値を指定する方法を説明します。この手法により、Python コードからの一連の値に基づいて柔軟なデータ取得が可能になります。

段階的なアプローチは次のとおりです:

  1. SQL クエリを構築します: リスト値のプレースホルダーを使用して SQL クエリを作成します。 たとえば、「id」が Python リストにある「students」テーブルから名前を選択するには:

    <code class="language-sql">SELECT name FROM students WHERE id IN (?)</code>
    ログイン後にコピー
  2. プレースホルダーの生成: Python リストをカンマ区切りのプレースホルダー文字列に変換します。 リスト [1, 5, 8] の場合、これは次のようになります:

    <code class="language-python">placeholders = ', '.join(['?'] * len([1, 5, 8]))  # Results in '?, ?, ?'</code>
    ログイン後にコピー
  3. パラメータ化されたクエリを作成します: データベース ライブラリの書式設定メソッドを使用して、プレースホルダー文字列を SQL クエリに統合します。 以下の例では f-strings (Python 3.6) を使用しています。

    <code class="language-python">query = f'SELECT name FROM students WHERE id IN ({placeholders})'</code>
    ログイン後にコピー
  4. クエリを実行します: Python リストをタプルとしてデータベース カーソルの execute() メソッドに指定して、クエリを実行します。 これにより、パラメーターの適切なバインドが確保され、SQL インジェクションの脆弱性が防止されます。

    <code class="language-python">cursor.execute(query, tuple([1, 5, 8]))
    results = cursor.fetchall()</code>
    ログイン後にコピー

この方法では、値が整数、文字列、その他の互換性のあるデータ型であっても、Python リストの値を直接使用して SQL データベースから効率的かつ安全にデータを取得できます。 必ずコードを特定のデータベース ライブラリ (sqlite3psycopg2 など) に適応させてください。

以上がPython リストをパラメータとして使用して SQL データベースにクエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート