[python] SQLAlchemy에서 데이터 업데이트하기

SQLAlchemy는 파이썬에서 사용되는 ORM(Object Relational Mapper) 라이브러리로, 데이터베이스를 다루는 작업을 더 쉽게 만들어줍니다. 이번 포스트에서는 SQLAlchemy를 사용하여 데이터를 업데이트하는 방법에 대해 알아보겠습니다.

SQLAlchemy 모델 정의하기

먼저, SQLAlchemy를 사용하기 위해서는 모델을 정의해야 합니다. 모델은 데이터베이스의 테이블과 매핑됩니다. 아래는 간단한 모델 정의 예제입니다.

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class User(Base):
    __tablename__ = 'users'
    
    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)

위의 예제에서는 User 모델을 정의하였습니다. __tablename__ 속성은 모델이 매핑될 테이블의 이름을 정의하는 것이고, 각 컬럼은 Column 클래스로 정의됩니다.

데이터 업데이트하기

이제 데이터를 업데이트하는 방법에 대해 알아보겠습니다. SQLAlchemy에서는 session 객체를 사용하여 데이터를 다룰 수 있습니다. 데이터를 업데이트하려면 다음과 같은 단계를 거칩니다.

  1. session 객체를 생성합니다.
  2. session 객체에서 업데이트할 데이터를 조회합니다.
  3. 조회한 데이터를 수정합니다.
  4. session.commit()을 호출하여 업데이트된 데이터를 데이터베이스에 저장합니다.

아래는 데이터 업데이트 예제입니다.

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

# 데이터베이스에 연결
engine = create_engine('sqlite:///database.db')
Session = sessionmaker(bind=engine)
session = Session()

# 데이터 조회 및 업데이트
user = session.query(User).filter_by(id=1).first()
user.age = 30

# 데이터베이스에 업데이트된 데이터 저장
session.commit()

위의 예제에서는 session.query()를 사용하여 업데이트할 데이터를 조회합니다. filter_by() 메서드를 사용하여 원하는 조건에 맞는 데이터를 선택할 수 있습니다. 조회한 데이터의 속성을 수정하여 값을 변경하고, session.commit()을 호출하여 변경된 데이터를 데이터베이스에 저장합니다.

마무리

이번 포스트에서는 SQLAlchemy를 사용하여 데이터를 업데이트하는 방법에 대해 알아보았습니다. SQLAlchemy는 강력한 ORM 라이브러리로, 데이터베이스 작업을 더 편리하게 만들어줍니다. 데이터 업데이트 외에도 SQLAlchemy를 사용하여 데이터베이스를 생성, 조회, 삭제하는 다양한 작업을 할 수 있습니다.

더 자세한 정보는 SQLAlchemy 공식 문서를 참고하세요.