Heim > Datenbank > MySQL-Tutorial > Wie kann ich SQL-Abfragen aus einem externen Skript in Python ausführen und tabellenspezifische Abfragen verarbeiten?

Wie kann ich SQL-Abfragen aus einem externen Skript in Python ausführen und tabellenspezifische Abfragen verarbeiten?

Mary-Kate Olsen
Freigeben: 2024-12-30 03:54:08
Original
400 Leute haben es durchsucht

How Can I Execute SQL Queries from an External Script in Python and Handle Table-Specific Queries?

SQL-Abfragen aus einem externen Skript in Python ausführen

Bei der Arbeit mit Python und SQL kommt es häufig vor, dass in einem externen Skript gespeicherte SQL-Abfragen ausgeführt werden müssen. Bei diesem Vorgang wird das Skript gelesen, in einzelne Abfragen zerlegt und einzeln ausgeführt.

Bereitgestellter Code

import sqlite3
from sqlite3 import OperationalError

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

# Open and read the file as a single buffer
fd = open('ZooDatabase.sql', 'r')
sqlFile = fd.read()
fd.close()

# all SQL commands (split on ';')
sqlCommands = sqlFile.split(';')

# Execute every command from the input file
for command in sqlCommands:
    # This will skip and report errors
    # For example, if the tables do not yet exist, this will skip over
    # the DROP TABLE commands
    try:
        c.execute(command)
    except OperationalError, msg:
        print "Command skipped: ", msg
Nach dem Login kopieren

Dieser Code liest das SQL-Skript effektiv in einen String und teilt ihn auf wandelt es in einzelne Befehle um und führt diese mit c.execute() aus. Der verbleibende Code im bereitgestellten Snippet ist jedoch unvollständig und muss geändert werden, um tabellenspezifische Abfragen zu verarbeiten.

Tabellenspezifische Abfragen ausführen

Dem Code fehlt der Schritt, in dem er die Tabelle ausführt -spezifische Abfragen. Dazu können Sie den Code wie folgt ändern:

for table in ['ZooKeeper', 'Animal', 'Handles']:
    result = c.execute("SELECT ANAME,zookeepid FROM ANIMAL, HANDLES WHERE AID=ANIMALID;")
    rows = result.fetchall()
    print("\n--- TABLE", table, "\n")

    for desc in result.description:
        print(desc[0].rjust(22, ' '), end=", ")  # Print column names

    print()

    for row in rows:
        for value in row:
            print(str(value).rjust(22, ' '), end=", ")  # Print each value
        print()
Nach dem Login kopieren

Dieser Code durchläuft die Tabellennamen und führt die angegebenen Abfragen für jede Tabelle aus. Anschließend werden die Tabellendetails, Spaltennamen und Zeilendaten formatiert und gedruckt.

Das obige ist der detaillierte Inhalt vonWie kann ich SQL-Abfragen aus einem externen Skript in Python ausführen und tabellenspezifische Abfragen verarbeiten?. 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