Utilisation de requêtes paramétrées pour incorporer des listes Python dans SQL
Considérez le scénario dans lequel vous possédez une liste Python contenant plusieurs éléments, tels que l = [1,5,8]. Votre objectif est de formuler une requête SQL qui extrait les données associées aux éléments de la liste, comparable à :
select name from students where id = |IN THE LIST l|
Pour y parvenir, une requête paramétrable s'avère être une solution efficace. Cette approche permet l'inclusion à la fois d'entiers et de chaînes dans la requête :
import sqlite3 l = [1,5,8] # Define a placeholder depending on the specific DBAPI paramstyle. # For SQLite, '?' is appropriate. placeholder= '?' placeholders= ', '.join(placeholder for unused in l) # Construct the SQL query with parameter placeholders. query= 'SELECT name FROM students WHERE id IN (%s)' % placeholders # Establish a database connection and cursor. conn = sqlite3.connect('database.db') cursor = conn.cursor() # Execute the query with the Python list as parameter input. cursor.execute(query, l) # Retrieve and process query results. for row in cursor.fetchall(): # Access and utilize the data row here. pass # Close the database connection. conn.close()
En utilisant cette technique, vous pouvez intégrer dynamiquement des données variables à partir de listes Python dans vos requêtes SQL, simplifiant ainsi le processus de récupération de données basé sur sur plusieurs valeurs de paramètres.
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!