溫馨提示×

Python中sqlalchemy update怎么使用

小億
1009
2024-01-10 11:24:31
欄目: 云計算

在Python中使用SQLAlchemy進行更新操作有幾種不同的方式。以下是使用SQLAlchemy的常見方法:

方法1:使用update()方法

from sqlalchemy import create_engine, update
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

# 連接數(shù)據(jù)庫
engine = create_engine('數(shù)據(jù)庫連接字符串')
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

# 連接數(shù)據(jù)庫
engine = create_engine('數(shù)據(jù)庫連接字符串')
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()方法執(zhí)行原生SQL語句

from sqlalchemy import create_engine

# 連接數(shù)據(jù)庫
engine = create_engine('數(shù)據(jù)庫連接字符串')

# 更新記錄
with engine.connect() as connection:
    connection.execute("UPDATE users SET name='new_name' WHERE id = 1")

以上是使用SQLAlchemy進行更新操作的幾種常見方法。根據(jù)具體情況選擇適合的方法來實現(xiàn)更新操作。

1