ホームページ > データベース > mysql チュートリアル > Python で複数のテーブルに対して外部 SQL クエリを実行する方法

Python で複数のテーブルに対して外部 SQL クエリを実行する方法

Barbara Streisand
リリース: 2025-01-02 17:32:38
オリジナル
855 人が閲覧しました

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

Python での外部 SQL スクリプトの実行

現在、Python 内で SQL クエリを実行し、外部 SQL ファイルを作成する方法の学習に取り組んでいます。 「Zookeeper」、「Handles」、「Animal」の 3 つのテーブルでデータを作成および操作します。さらに、ファイルには、これらのテーブルに対して実行される一連のクエリが含まれています。

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))
ログイン後にコピー

この例では、「{}」は table、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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート