ホームページ >データベース >mysql チュートリアル >psycopg2 で動的テーブル名をパラメータとして渡すにはどうすればよいですか?
動的テーブル名を psycopg2 のパラメータとして渡します
psycopg2 では、SQL クエリを構築するときに動的テーブル名をパラメータとして渡すことができます。これは、ユーザー入力やデータベース構成などの状況に基づいてテーブル名が変更される可能性がある場合に便利です。
テーブル名をパラメータとして渡すには、psycopg2.sql モジュールを使用できます。このモジュールは、テーブル名とフィールド名をパラメータとして表すために使用できる Identifier
クラスを提供します。
ここでは、Identifier
クラスを使用して動的テーブル名をパラメータとして渡す方法の例を示します。
<code class="language-python">from psycopg2 import sql table_name = 'ss2012_t02' sql_query = sql.SQL("select * from {table_name}").format(table_name=sql.Identifier(table_name))</code>
この例では、table_name
変数がパラメータとして Identifier
クラスに渡され、テーブル名を表すパラメータが作成されます。次に、format()
メソッドを使用してパラメータを SQL クエリ文字列に挿入します。
Identifier
クラス は、特殊文字 (スペースやピリオドなど) を含むテーブル名またはフィールド名を表すために 使用しないでください。このような名前の場合は、代わりに AsIs
クラスを使用する必要があります。ただし、AsIs
クラスは非推奨であるため、可能であれば使用しないでください。
以上がpsycopg2 で動的テーブル名をパラメータとして渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。