Heim > Datenbank > MySQL-Tutorial > Wie kann ich SQL-Abfragen aus einer externen Datei in Python effizient ausführen?

Wie kann ich SQL-Abfragen aus einer externen Datei in Python effizient ausführen?

Susan Sarandon
Freigeben: 2024-12-29 22:35:10
Original
458 Leute haben es durchsucht

How Can I Efficiently Execute SQL Queries from an External File in Python?

Abfragen einer externen SQL-Datei in Python

Verwirrung:

Beim Ausführen von SQL-Abfragen aus einer externen Datei kann es bei einigen Entwicklern vorkommen Lassen Sie sich durch Zeilen verwirren wie:

result = c.execute("SELECT * FROM %s;" % table);
Nach dem Login kopieren

Erklärung:

Die Zeichenfolgenformatierung in Python ermöglicht es uns, Platzhalter (%s) dynamisch durch Werte zu ersetzen. In diesem Fall wird %s durch den Wert der Tabellenvariablen ersetzt, bei dem es sich um eine Zeichenfolge handelt, die den Tabellennamen darstellt. Wenn die Tabelle also „Tier“ ist, lautet die Abfrage „SELECT * FROM Animal;“.

Verwendung des bereitgestellten Codes:

Der bereitgestellte Python-Code enthält eine Funktion executeScriptsFromFile, mit dem alle SQL-Befehle in einer externen Datei ausgeführt werden können.

def executeScriptsFromFile(filename):
    with open(filename, 'r') as fd:
        sqlFile = fd.read()
    sqlCommands = sqlFile.split(';')

    for command in sqlCommands:
        try:
            c.execute(command)
        except OperationalError as msg:
            print("Command skipped: ", msg)
Nach dem Login kopieren

Mit dieser Funktion können Sie die SQL-Abfragen ausführen in Ihrer zookeeper.sql-Datei:

executeScriptsFromFile('zookeeper.sql')
Nach dem Login kopieren

Abfragen 1.1 und 1.2:

Die Abfragen 1.1 und 1.2 sind bereits in der zookeeper.sql-Datei enthalten. Der obige Code führt sie aus, wenn die Datei geladen wird.

Vollständiger Code:

Durch die Kombination der Funktion „executeScriptsFromFile“ und des Tabellenschleifencodes kann Ihr vollständiger Python-Code vereinfacht werden wie folgt:

import sqlite3
from sqlite3 import OperationalError

conn = sqlite3.connect('csc455_HW3.db')
c = conn.cursor()

executeScriptsFromFile('zookeeper.sql')

for table in ['ZooKeeper', 'Animal', 'Handles']:
    result = c.execute("SELECT * FROM %s;" % table)
    rows = result.fetchall()
    print("\n--- TABLE ", table, "\n")
    for desc in result.description:
        print(desc[0].rjust(22, ' '), end=',')
    print()  # End the line with column names

    for row in rows:
        for value in row:
            print(str(value).rjust(22, ' '))
        print()

c.close()
conn.close()
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich SQL-Abfragen aus einer externen Datei in Python effizient ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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