Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Melaksanakan Pertanyaan SQL daripada Skrip Luaran dalam Python dan Mengendalikan Pertanyaan Khusus Jadual?

Bagaimanakah Saya Boleh Melaksanakan Pertanyaan SQL daripada Skrip Luaran dalam Python dan Mengendalikan Pertanyaan Khusus Jadual?

Mary-Kate Olsen
Lepaskan: 2024-12-30 03:54:08
asal
361 orang telah melayarinya

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

Melaksanakan Pertanyaan SQL daripada Skrip Luaran dalam Python

Apabila bekerja dengan Python dan SQL, adalah perkara biasa untuk menghadapi keperluan untuk melaksanakan pertanyaan SQL yang disimpan dalam skrip luaran. Proses ini melibatkan membaca skrip, membahagikannya kepada pertanyaan individu dan melaksanakannya satu demi satu.

Kod Disediakan

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
Salin selepas log masuk

Kod ini membaca skrip SQL dengan berkesan kepada rentetan, membelah ia ke dalam perintah individu, dan melaksanakannya menggunakan c.execute(). Walau bagaimanapun, baki kod dalam coretan yang disediakan tidak lengkap dan perlu diubah suai untuk mengendalikan pertanyaan khusus jadual.

Melaksanakan Pertanyaan Khusus Jadual

Kod tiada langkah di mana ia melaksanakan jadual -pertanyaan khusus. Untuk melakukan ini, anda boleh mengubah suai kod seperti berikut:

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()
Salin selepas log masuk

Kod ini akan melingkari nama jadual dan melaksanakan pertanyaan yang ditentukan untuk setiap jadual. Ia kemudiannya memformat dan mencetak butiran jadual, nama lajur dan data baris.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Pertanyaan SQL daripada Skrip Luaran dalam Python dan Mengendalikan Pertanyaan Khusus Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan