Passer le nom de la table dynamique en paramètre dans psycopg2
Dans psycopg2, les noms de tables dynamiques peuvent être transmis comme paramètres lors de la création de requêtes SQL. Ceci est utile lorsque le nom de la table peut changer en fonction de circonstances telles que la saisie de l'utilisateur ou la configuration de la base de données.
Pour passer le nom de la table en paramètre, vous pouvez utiliser le module psycopg2.sql. Ce module fournit la classe Identifier
, qui peut être utilisée pour représenter les noms de tables et de champs en tant que paramètres.
Voici un exemple d'utilisation de la classe Identifier
pour passer un nom de table dynamique en paramètre :
<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>
Dans cet exemple, la variable table_name
est passée en paramètre à la classe Identifier
, qui crée un paramètre représentant le nom de la table. Utilisez ensuite la méthode format()
pour insérer les paramètres dans la chaîne de requête SQL.
Il convient de noter que la classe Identifier
ne doit pas être utilisée pour représenter des noms de tables ou de champs contenant des caractères spéciaux (tels que des espaces ou des points). Pour de tels noms, la classe AsIs
doit être utilisée à la place. Cependant, la classe AsIs
est obsolète et doit être évitée si possible.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!