在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中文網其他相關文章!