首頁 >資料庫 >mysql教程 >如何在Python中對多個表執行外部SQL查詢?

如何在Python中對多個表執行外部SQL查詢?

Barbara Streisand
Barbara Streisand原創
2025-01-02 17:32:38876瀏覽

How to Execute External SQL Queries Against Multiple Tables in Python?

在Python 中執行外部SQL 腳本

您目前正在學習如何在Python 中執行外部SQL 查詢並擁有一個外部SQL 檔案建立並操作三個表中的資料:「Zookeeper」、「Handles」和「Animal」。此外,該文件包含一系列要針對這些表執行的查詢。

在Python 中執行以下查詢時會出現混亂:

--1.1

SELECT ANAME,zookeepid
FROM ANIMAL, HANDLES
WHERE AID=ANIMALID;
--1.2

SELECT ZNAME, SUM(TIMETOFEED)
FROM ZOOKEEPER, ANIMAL, HANDLES
WHERE AID=ANIMALID AND ZOOKEEPID=ZID
GROUP BY zookeeper.zname;

這些查詢是不是創建表,而是檢索數據,這需要與插入或刪除不同的方法data.

要在Python中執行這些查詢,您可以利用字串格式將表名佔位符 '%s' 動態替換為實際的您要查詢的表名。以下是修改程式碼的方法:

result = c.execute("SELECT * FROM {} WHERE {} != {} AND {} != {};".format(table, column1, value1, column2, value2))

在此範例中,「{}」表示表、column1、value1、column2 和 value2 的佔位符。然後,您可以根據要執行的查詢將這些佔位符替換為適當的值。

替代方法

您可以考慮的另一種方法是定義一個函數將表名和查詢作為輸入,無需字串格式化。這種方法提供了更大的靈活性和可讀性。

def execute_query(table, query):
    result = c.execute(query.format(table))
    # Do something with the results

for table in ['ZooKeeper', 'Animal', 'Handles']:
    query = "SELECT * FROM {} WHERE {} != {} AND {} != {};"
    execute_query(table, query)

這種方法允許您根據不同的條件執行查詢,而無需修改查詢本身。

以上是如何在Python中對多個表執行外部SQL查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn