Membaca Skrip SQL Luaran dalam Python
Soalan: Bagaimanakah saya boleh melaksanakan pertanyaan SQL luaran dari dalam skrip Python , terutamanya apabila berurusan dengan penciptaan bukan meja pertanyaan?
Penjelasan:
Untuk menjalankan arahan SQL dalam Python, anda boleh menggunakan modul sqlite3. Modul ini menyediakan antara muka kepada sistem pengurusan pangkalan data SQLite. Untuk membaca skrip SQL luaran, anda boleh mengikuti langkah berikut:
Kod Contoh:
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()
Pertanyaan Khusus:
Pertanyaan 1.1 dan 1.2 dalam skrip SQL yang anda sediakan ialah pertanyaan bukan penciptaan jadual. Untuk melaksanakannya, anda boleh menggunakan kaedah c.execute secara langsung dan bukannya pertanyaan SELECT *:
# 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)
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan SQL Luaran (Termasuk Pertanyaan Penciptaan Bukan Jadual) dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!