Maison >base de données >tutoriel mysql >Comment puis-je utiliser des paramètres avec des requêtes SQL dans Pandas ?

Comment puis-je utiliser des paramètres avec des requêtes SQL dans Pandas ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-18 07:16:10512parcourir

How Can I Use Parameters with SQL Queries in Pandas?

Utilisation des paramètres de requête SQL dans Pandas

Pandas permet de transmettre des paramètres lors de l'exécution de requêtes SQL, à l'aide de la fonction read_sql().

Syntaxe de passage des paramètres

Les paramètres peuvent être transmis sous forme de liste, de tuple ou de dictionnaire. Toutefois, la syntaxe prise en charge dépend du pilote de base de données utilisé.

Paramètres de liste ou de tuple

Cette méthode consiste à utiliser l'espace réservé %s ou le point d'interrogation ? dans la requête SQL. Les paramètres sont transmis sous forme de liste ou de tuple, dans le même ordre qu'ils apparaissent dans la requête.

<code class="language-python">params = [datetime(2014, 6, 24, 16, 0), datetime(2014, 6, 24, 17, 0)]
df = psql.read_sql('select "Timestamp", "Value" from "MyTable" where "Timestamp" BETWEEN %s AND %s',
                     db, params, index_col=['Timestamp'])</code>

Paramètres du dictionnaire

Lors de l'utilisation de paramètres de dictionnaire, les paires clé-valeur du dictionnaire correspondent aux noms de paramètres dans la requête SQL. Les noms de paramètres dans les requêtes doivent utiliser la syntaxe %(name)s.

<code class="language-python">params = {"dstart": datetime(2014, 6, 24, 16, 0), "dfinish": datetime(2014, 6, 24, 17, 0)}
df = psql.read_sql('select "Timestamp", "Value" from "MyTable" where "Timestamp" BETWEEN %(dstart)s AND %(dfinish)s',
                     db, params, index_col=['Timestamp'])</code>

Syntaxe suggérée

La syntaxe recommandée pour transmettre des paramètres à l'aide de requêtes SQL dans Pandas est d'utiliser des paramètres nommés (dict) ou des paramètres de position (liste ou tuple), selon la syntaxe prise en charge par le pilote de base de données.

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!

Déclaration:
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