CData Python Connector for EnterpriseDB

Build 22.0.8479

データのクエリ

接続 の手順で接続後、メタデータの反映 内のメソッドの1つを使ってメタデータの一部を反映したら、セッションオブジェクトを使用してデータをクエリできます。

query メソッドを使用したデータのクエリ

マッピングクラスが用意されている場合は、セッションオブジェクトと併用してデータソースをクエリします。エンジンをセッションにバインドしたら、以下のように、マッピングクラスをセッションのクエリメソッドに提供するだけです。

engine = create_engine("cdata_enterprisedb:///?User=postgres;Password=admin;Database=postgres;Server=127.0.0.1;Port=5444")
factory = sessionmaker(bind=engine)
session = factory()
for instance in session.query("postgres"."public".Orders).filter_by(ShipCountry="USA"):
	print("Id: ", instance.Id)
	print("ShipName: ", instance.ShipName)
	print("ShipCity: ", instance.ShipCity)
	print("---------")

execute メソッドを使用したデータのクエリ

別の方法として、セッションオブジェクトは、適切なテーブルオブジェクトと一緒にexecute() メソッドを使用してクエリを実行することもできます。アクティブなセッションがあると仮定すると、以下は同様に実行可能です。

"postgres"."public".Orders_table = "postgres"."public".Orders.metadata.tables["\"postgres\".\"public\".Orders"]
for instance in session.execute("postgres"."public".Orders_table.select().where("postgres"."public".Orders_table.c.ShipCountry == "USA")):
	print("Id: ", instance.Id)
	print("FullName: ", instance.Name)
	print("City: ", instance.BillingCity)
	print("---------")

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 22.0.8479