<Python> SQLAlchemy 사용법
- Developer/Python
- 2023. 8. 15.
데이터베이스는 어플리케이션에서 중요한 역할을 하는 데이터 저장 및 관리를 담당합니다. 파이썬에서 데이터베이스 작업을 수행하기 위해 사용할 수 있는 라이브러리 중에 하나는 SQLAlchemy입니다.
SQLAlchemy는 파이썬 개발자가 다양한 데이터베이스 시스템과 작업할 수 있도록 지원하는 ORM(Object Relational Mapper) 중 하나입니다. 이 글에서는 SQLAlchemy를 사용하여 파이썬에서 데이터베이스 작업을 수행하는 방법을 설명하겠습니다.
SQLAlchemy 설치 및 설정
먼저, SQLAlchemy를 사용하기 위해 해당 라이브러리를 설치합니다.
pip install SQLAlchemy
데이터베이스 연결하기
첫 번째 단계는 데이터베이스 엔진을 생성해야 합니다. 여기 예제에서는 SQLite 데이터베이스를 사용하겠습니다.
from sqlalchemy import create_engine
engine = create_engine("sqlite:///example.db")
이 명령은 'example.db'라는 SQLite 데이터베이스 파일에 접속하는 엔진을 생성합니다.
테이블 생성
적절한 테이블 구조를 정의하기 위해 클래스를 생성하고, 이를 SQLAlchemy의 Base
클래스를 상속받게 합니다. 이렇게 하면 테이블을 생성하고 관리하기 쉽습니다.
먼저 declarative_base
함수를 사용하여 Base
변수를 생성합니다.
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
이제 테이블을 정의할 클래스를 생성합니다.
from sqlalchemy import Column, Integer, String
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
이 클래스는 users
테이블을 나타내며, id
, name
, age
라는 세 개의 열을 갖습니다.
테이블을 실제로 생성하려면 Base.metadata.create_all
메소드를 호출하고 엔진을 전달합니다.
Base.metadata.create_all(engine)
이제 데이터베이스에 새로운 테이블 users
가 생성됩니다.
데이터 추가
새로운 데이터를 데이터베이스에 추가하려면 클래스의 인스턴스를 만들고 이를 세션 객체를 사용해 데이터베이스에 저장합니다.
데이터를 저장하고 관리하려면 세션 메이커를 생성해야 합니다.
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=engine)
이제 세션을 이용해 데이터를 추가할 수 있습니다.
user = User(name="John", age=30)
session = Session()
session.add(user)
session.commit()
이 명령은 "John"이라는 이름과 30세의 나이를 가진 새로운 사용자를 users
테이블에 추가합니다.
데이터 조회
세션을 이용하여 데이터를 조회할 수 있습니다.
users = session.query(User).all()
for user in users:
print(f"{user.id}: {user.name}, {user.age}")
이 코드는 모든 사용자 데이터를 가져와 출력합니다.
데이터 수정
세션을 이용하여 데이터를 수정할 수 있습니다.
user = session.query(User).filter(User.name == "John").first()
if user is not None:
user.age = 32
session.commit()
이 코드는 이름이 "John"인 사용자의 나이를 32로 변경합니다.
데이터 삭제
세션을 이용하여 데이터를 삭제할 수 있습니다.
user = session.query(User).filter(User.name == "John").first()
if user is not None:
session.delete(user)
session.commit()
여기서는 "John"이라는 이름의 사용자를 삭제합니다.
이 글에서는 파이썬에서 SQLAlchemy를 이용하여 데이터베이스 작업을 수행하는 방법을 소개하였습니다.
SQLAlchemy를 사용하면 다양한 데이터베이스 시스템과 작업하기 쉽고 효율적입니다.
감사합니다.
'Developer > Python' 카테고리의 다른 글
<Python> 클라우드 서비스와 파이썬 (0) | 2023.08.16 |
---|---|
<Python> RESTful API 개발과 사용 (0) | 2023.08.16 |
<Python> 웹 스크래핑을 위한 BeautifulSoup 사용법 (0) | 2023.08.15 |
<Python> JSON 데이터처리 (0) | 2023.08.14 |
<Python> CSV 다루기 (0) | 2023.08.13 |