Comment puis-je utiliser des listes Python avec des requêtes SQL à l'aide d'instructions paramétrées ?

Patricia Arquette
Libérer: 2024-11-25 21:56:15
original
196 Les gens l'ont consulté

How Can I Use Python Lists with SQL Queries Using Parameterized Statements?

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|
Copier après la connexion

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()
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal