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