Heim > Datenbank > MySQL-Tutorial > Wie führe ich externe SQL-Abfragen (einschließlich Abfragen zur Nicht-Tabellenerstellung) in Python aus?

Wie führe ich externe SQL-Abfragen (einschließlich Abfragen zur Nicht-Tabellenerstellung) in Python aus?

Patricia Arquette
Freigeben: 2024-12-28 02:35:08
Original
866 Leute haben es durchsucht

How to Execute External SQL Queries (Including Non-Table Creation Queries) in Python?

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:

  1. Öffnen und lesen Sie die Datei:Öffnen Sie die SQL-Datei und lesen Sie ihren Inhalt in eine Zeichenfolge ein.
  2. Befehle aufteilen: Teilen Sie die Zeichenfolge in eine Liste einzelner SQL-Befehle auf, getrennt durch ;.
  3. Führen Sie die Befehle aus: Durchlaufen Sie die Liste der Befehle und führen Sie sie einzeln mit der c.execute(command)-Methode des Cursorobjekts aus.

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()
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

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