Pythonでsqlalchemyを使ってupdateする方法は何ですか?
PythonでSQLAlchemyを使用して更新操作を行う方法にはいくつかの異なる方法があります。以下はSQLAlchemyを使用した一般的な方法です:
方法1:update()メソッドを使用する。
from sqlalchemy import create_engine, update
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
# 连接数据库
engine = create_engine('数据库连接字符串')
Session = sessionmaker(bind=engine)
session = Session()
# 定义映射类
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
# 更新记录
stmt = update(User).where(User.id == 1).values(name='new_name')
session.execute(stmt)
session.commit()
方法2:queryオブジェクトのupdate()メソッドを使用する。
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
# 连接数据库
engine = create_engine('数据库连接字符串')
Session = sessionmaker(bind=engine)
session = Session()
# 定义映射类
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
# 更新记录
session.query(User).filter(User.id == 1).update({User.name: 'new_name'})
session.commit()
方法3:execute()メソッドを使用して、ネイティブSQLステートメントを実行する。
from sqlalchemy import create_engine
# 连接数据库
engine = create_engine('数据库连接字符串')
# 更新记录
with engine.connect() as connection:
connection.execute("UPDATE users SET name='new_name' WHERE id = 1")
SQLAlchemyを使用して更新操作を実行するための一般的な方法がいくつかあります。更新操作を実装するために、具体的な状況に応じて適切な方法を選択してください。