Heim >Datenbank >MySQL-Tutorial >Wie kann ich Parameter mit SQL-Abfragen in Pandas verwenden?

Wie kann ich Parameter mit SQL-Abfragen in Pandas verwenden?

Barbara Streisand
Barbara StreisandOriginal
2025-01-18 07:16:10466Durchsuche

How Can I Use Parameters with SQL Queries in Pandas?

Verwendung von SQL-Abfrageparametern in Pandas

Pandas ermöglicht die Übergabe von Parametern beim Ausführen von SQL-Abfragen mithilfe der Funktion read_sql().

Parameterübergabesyntax

Parameter können als Liste, Tupel oder Wörterbuch übergeben werden. Die unterstützte Syntax hängt jedoch vom verwendeten Datenbanktreiber ab.

Listen- oder Tupelparameter

Bei dieser Methode wird der Platzhalter %s oder das Fragezeichen ? in der SQL-Abfrage verwendet. Parameter werden als Liste oder Tupel in derselben Reihenfolge übergeben, in der sie in der Abfrage erscheinen.

<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>

Wörterbuchparameter

Bei der Verwendung von Wörterbuchparametern entsprechen die Schlüssel-Wert-Paare im Wörterbuch den Parameternamen in der SQL-Abfrage. Parameternamen in Abfragen sollten die %(name)s-Syntax verwenden.

<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>

Vorgeschlagene Syntax

Die empfohlene Syntax für die Übergabe von Parametern mithilfe von SQL-Abfragen in Pandas besteht darin, benannte Parameter (Dikt) oder Positionsparameter (Liste oder Tupel) zu verwenden, abhängig von der vom Datenbanktreiber unterstützten Syntax.

Das obige ist der detaillierte Inhalt vonWie kann ich Parameter mit SQL-Abfragen in Pandas verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn