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