Heim > Datenbank > MySQL-Tutorial > Wie führe ich externe SQL-Abfragen für mehrere Tabellen in Python aus?

Wie führe ich externe SQL-Abfragen für mehrere Tabellen in Python aus?

Barbara Streisand
Freigeben: 2025-01-02 17:32:38
Original
893 Leute haben es durchsucht

How to Execute External SQL Queries Against Multiple Tables in Python?

Externe SQL-Skripte in Python ausführen

Sie arbeiten derzeit daran zu lernen, wie Sie SQL-Abfragen in Python ausführen und verfügen über eine externe SQL-Datei, die das ermöglicht erstellt und manipuliert Daten in drei Tabellen: „Zookeeper“, „Handles“ und „Animal“. Darüber hinaus enthält die Datei eine Reihe von Abfragen, die für diese Tabellen ausgeführt werden sollen.

Verwirrung entsteht, wenn Abfragen wie die folgenden in Python ausgeführt werden:

--1.1

SELECT ANAME,zookeepid
FROM ANIMAL, HANDLES
WHERE AID=ANIMALID;
Nach dem Login kopieren
--1.2

SELECT ZNAME, SUM(TIMETOFEED)
FROM ZOOKEEPER, ANIMAL, HANDLES
WHERE AID=ANIMALID AND ZOOKEEPID=ZID
GROUP BY zookeeper.zname;
Nach dem Login kopieren

Diese Abfragen sind Es werden keine Tabellen erstellt, sondern Daten abgerufen, was einen anderen Ansatz erfordert als das Einfügen oder Löschen Daten.

Lösung

Um diese Abfragen in Python auszuführen, können Sie die Zeichenfolgenformatierung verwenden, um den Tabellennamen-Platzhalter „%s“ dynamisch durch den tatsächlichen zu ersetzen Tabellenname, den Sie abfragen möchten. So können Sie Ihren Code ändern:

result = c.execute("SELECT * FROM {} WHERE {} != {} AND {} != {};".format(table, column1, value1, column2, value2))
Nach dem Login kopieren

In diesem Beispiel stellt „{}“ die Platzhalter für Tabelle, Spalte1, Wert1, Spalte2 und Wert2 dar. Anschließend können Sie diese Platzhalter durch die entsprechenden Werte ersetzen, abhängig von der Abfrage, die Sie ausführen möchten.

Alternative Methode

Eine alternative Methode, die Sie in Betracht ziehen könnten, ist die Definition einer Funktion, die Verwendet den Tabellennamen und die Abfrage als Eingabe, sodass keine Zeichenfolgenformatierung erforderlich ist. Dieser Ansatz bietet mehr Flexibilität und Lesbarkeit.

def execute_query(table, query):
    result = c.execute(query.format(table))
    # Do something with the results

for table in ['ZooKeeper', 'Animal', 'Handles']:
    query = "SELECT * FROM {} WHERE {} != {} AND {} != {};"
    execute_query(table, query)
Nach dem Login kopieren

Mit diesem Ansatz können Sie Abfragen basierend auf unterschiedlichen Bedingungen ausführen, ohne die Abfrage selbst zu ändern.

Das obige ist der detaillierte Inhalt vonWie führe ich externe SQL-Abfragen für mehrere Tabellen in Python aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage