Externes SQL-Skript in Python lesen
Frage: Wie kann ich externe SQL-Abfragen aus einem Python-Skript heraus ausführen? , insbesondere wenn es um die Erstellung von Nicht-Tabellen geht Abfragen?
Erklärung:
Um SQL-Befehle in Python auszuführen, können Sie das sqlite3-Modul verwenden. Dieses Modul stellt eine Schnittstelle zum SQLite-Datenbankverwaltungssystem bereit. Um ein externes SQL-Skript zu lesen, können Sie die folgenden Schritte ausführen:
Codebeispiel:
import sqlite3 # Open the database connection conn = sqlite3.connect('database.db') c = conn.cursor() # Read the SQL file with open('external_sql.sql', 'r') as f: sql_file = f.read() # Split the commands sql_commands = sql_file.split(';') # Execute the commands for command in sql_commands: try: c.execute(command) except sqlite3.OperationalError as e: print(f"Command skipped: {e}") # Commit the changes and close the connection conn.commit() c.close() conn.close()
Spezifisch Abfragen:
Die Abfragen 1.1 und 1.2 in Ihrem bereitgestellten SQL-Skript sind Abfragen, die keine Tabellenerstellung ermöglichen. Um sie auszuführen, können Sie die c.execute-Methode direkt anstelle der SELECT *-Abfrage verwenden:
# Query 1.1 result = c.execute( """ SELECT ANAME,zookeepid FROM ANIMAL, HANDLES WHERE AID=ANIMALID; """ ) # Get the results rows = result.fetchall() # Print the results print("Query 1.1:") for row in rows: print(row) # Query 1.2 result = c.execute( """ SELECT ZNAME, SUM(TIMETOFEED) FROM ZOOKEEPER, ANIMAL, HANDLES WHERE AID=ANIMALID AND ZOOKEEPID=ZID GROUP BY zookeeper.zname; """ ) # Get the results rows = result.fetchall() # Print the results print("Query 1.2:") for row in rows: print(row)
Das obige ist der detaillierte Inhalt vonWie führe ich externe SQL-Abfragen (einschließlich Abfragen zur Nicht-Tabellenerstellung) in Python aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!