その1TwitterFacebookはてブLINEPocketSQLAlchemyが提供するORM機能を使用すると、DBのデータをPythonオブジェクトとみなして扱うことができるようになります。ORMではテーブルに対応するクラスを定義します。本講座では便宜上テーブルクラスと呼ぶことにします。テーブルクラスから生成したオブジェクトをテーブルオブジェクトと呼ぶことにします。これはDBの1レコードに相当します。SQLAlchemyではテーブルクラスを定義する際、Baseと呼ばれる型オブジェクトを継承したクラスを作成します。Userテーブルに対応するテーブルクラスを定義してみます。以前学習したメタデータを使用してテーブルクラスの情報をDBに反映することができます。Baseからmetadataを取得することができますので、ここで学習した通りの方法でテーブル生成することができます。Base.metadatameta.create_all(engine)ORMとCRUD接続とデータを格納するクラスの定義ができました。セッションについて簡単に説明した後ORMを使ってみましょう。セッションORMを使用したCRUDについて学習する前にORMを使用したことがない方向けに、セッションについて雑に説明します。ORMのセッションとはコードとDBで同期を取る仕組みと思ってください。テーブルクラスのオブジェクトがRDBの1レコードに相当しますが、セッションを介してオブジェクトの状態をDBに反映させることができます。SQLAlchemyのセッションはsessionmakerを使用します。引数にengineを指定します。Session()それではORMのCRUD処理について見ていきましょう。InsertまずはInsertです。session.addメソッドに生成したテーブルオブジェクトを指定します。新規ユーザーSuzukiさんのデータをinsertする場合、以下のように記述します。age=19)session.add(suzuki)session.commit()Selectsession.queryメソッドでクエリオブジェクトを取得し、selectを実行することができます。次回細かいクエリの実行方法について学習します。session.query(User).all()getで主キーを指定することができます。session.query(User).get(1)Updateテーブルオブジェクトを生成したりqueryメソッドで取得した後、属性を更新してaddすると更新処理が実行されます。先ほどinsertしたSuzukiさんのデータを修正する場合、以下のようになります。20session.add(suzuki)session.commit()Delete最後はDeleteです。session.deleteメソッドに削除対象のテーブルオブジェクトを指定します。サンプル補足として、上記サンプルをまとめたものを掲載します。deletesession.delete(suzuki)簡単なCRUD処理について学習しました。次回は様々なクエリの記述方法について学習しましょう。関数オブジェクトPython学習講座はPython学習者を応援するサイトです。