データのクエリ
接続 の手順を使用して接続し、メタデータの反映 メソッドのいずれかを使用してメタデータの一部を反映させたら、セッションオブジェクトを使用してデータをクエリできます。
query メソッドを使用したデータのクエリ
マッピングクラスが用意されている場合は、セッションオブジェクトと併用してデータソースをクエリします。エンジンをセッションにバインドしたら、マッピングクラスをセッションのクエリメソッドに提供します。次に例を示します。
engine = create_engine("cdata_teradata:///?User=Admin;Password=test123;Database=Northwind;DataSource=127.0.0.1")
factory = sessionmaker(bind=engine)
session = factory()
for instance in session.query("CData"."dbo".NorthwindProducts).filter_by(CategoryId="5"):
print("ProductId: ", instance.ProductId)
print("ProductId: ", instance.ProductId)
print("ProductName: ", instance.ProductName)
print("---------")
execute メソッドを使用したデータのクエリ
セッションオブジェクトは、適切なテーブルオブジェクトと一緒にexecute() メソッドを使用してクエリを実行することもできます。アクティブなセッションがあると仮定すると、以下は同様に実行可能です。"CData"."dbo".NorthwindProducts_table = "CData"."dbo".NorthwindProducts.metadata.tables["\"CData\".\"dbo\".NorthwindProducts"]
for instance in session.execute("CData"."dbo".NorthwindProducts_table.select().where("CData"."dbo".NorthwindProducts_table.c.CategoryId == "5")):
print("Id: ", instance.Id)
print("FullName: ", instance.Name)
print("City: ", instance.BillingCity)
print("---------")