Mettre la liste Python comme paramètre dans la requête SQL
Dans le développement Python, nous rencontrons souvent des scénarios dans lesquels nous devons intégrer des données dans des listes dans des requêtes SQL. Cela se produit souvent lors de l'utilisation de frameworks Python qui suivent le modèle ORM (Object Relational Mapping). Cette question présente un cas spécifique où une liste Python sera utilisée comme paramètre de filtre dans une requête SQL. Le but est de récupérer les données de tous les éléments de la liste.
Pour y parvenir, une approche courante consiste à paramétrer la requête, en utilisant des espaces réservés qui seront remplacés par des valeurs de liste lors de l'exécution. Cela améliore non seulement la lisibilité du code, mais évite également les vulnérabilités de sécurité potentielles associées à la concaténation de chaînes.
Considérez l'extrait de code suivant :
<code class="language-python">l = [1, 5, 8] placeholder = '?' # 根据使用的数据库API调整占位符。 placeholders = ', '.join([placeholder for _ in l]) query = 'SELECT name FROM students WHERE id IN (%s)' % placeholders cursor.execute(query, l)</code>
En utilisant le paramétrage, même les valeurs qui peuvent nécessiter un traitement spécial (comme les chaînes) peuvent être intégrées de manière transparente dans la requête sans avoir besoin de s'échapper. Cette approche fournit un mécanisme puissant et fiable pour ajouter des listes Python aux requêtes SQL.
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!