SQLAlchemyを使ってデータベースのレコードを更新するには、Sessionオブジェクトを使用して次の手順を実行する必要があります。
- Sessionオブジェクトを作成する
- 更新したいレコードをSessionに追加する
- Sessionをコミットする 以下は、例として、usersテーブルからidが1のレコードのnameをJohnに更新する方法です。
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String from sqlalchemy.orm import sessionmaker engine = create_engine('postgresql://user:password@host:port/database') metadata = MetaData() users_table = Table('users', metadata, Column('id', Integer, primary_key=True), Column('name', String), ) Session = sessionmaker(bind=engine) session = Session() # id=1のレコードを取得する user = session.query(users_table).filter(users_table.c.id == 1).one() # nameを更新する user.name = 'John' # Sessionをコミットする session.commit()
まず、create_engine()を使ってデータベースに接続します。次に、MetaDataオブジェクトを作成し、Tableオブジェクトを定義します。その後、sessionmaker()を使用して、Sessionオブジェクトを作成します。Sessionオブジェクトを使って、更新したいレコードを取得し、更新を行います。最後に、commit()を呼び出して、変更をデータベースに保存します。