[python] SQLAlchemy와 Oracle 데이터베이스 연동

SQLAlchemy는 파이썬에서 사용할 수 있는 강력한 ORM(Object Relational Mapping) 라이브러리입니다. 이 라이브러리를 사용하면 데이터베이스와의 상호작용을 쉽게 처리할 수 있습니다. 이번 포스트에서는 SQLAlchemy를 사용하여 Oracle 데이터베이스와 연동하는 방법에 대해 알아보겠습니다.

1. 필수 패키지 설치

SQLAlchemy를 사용하기 위해 다음과 같은 패키지를 설치해야 합니다.

pip install sqlalchemy
pip install cx_Oracle

cx_Oracle 패키지는 Oracle 데이터베이스와의 연동을 위해 필요합니다.

2. 데이터베이스 연결 설정

SQLAlchemy를 사용하여 Oracle 데이터베이스에 연결하기 위해서는 연결 정보를 설정해야 합니다. 아래는 Oracle 데이터베이스에 연결하기 위한 예제입니다.

from sqlalchemy import create_engine

# 연결 설정
db_url = 'oracle+cx_oracle://<유저명>:<비밀번호>@<호스트명>:<포트>/<데이터베이스 SID>'
engine = create_engine(db_url)

위 예제에서 <유저명>, <비밀번호>, <호스트명>, <포트>, <데이터베이스 SID>에 자신의 Oracle 데이터베이스 정보를 입력해야 합니다.

3. 테이블 생성 및 데이터 조작

연결 설정이 완료되면 SQLAlchemy를 사용하여 테이블을 생성하고 데이터를 조작할 수 있습니다. 아래는 테이블 생성과 데이터 삽입을 위한 예제입니다.

from sqlalchemy import Column, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

# 테이블 모델 선언
Base = declarative_base()

class User(Base):
    __tablename__ = 'users'

    id = Column(String(20), primary_key=True)
    name = Column(String(50))

# 세션 생성
Session = sessionmaker(bind=engine)
session = Session()

# 테이블 생성
Base.metadata.create_all(engine)

# 데이터 삽입
user = User(id='1', name='John')
session.add(user)
session.commit()

위 예제에서는 User라는 테이블 모델을 선언하고, users라는 테이블을 생성한 후 데이터를 삽입하는 방법을 보여줍니다.

4. 데이터 조회

SQLAlchemy를 사용하여 Oracle 데이터베이스에서 데이터를 조회하는 방법은 아래와 같습니다.

# 데이터 조회
users = session.query(User).all()

for user in users:
    print(user.id, user.name)

위 예제에서는 User 테이블에서 모든 데이터를 조회한 후, 각 사용자의 idname을 출력합니다.

결론

SQLAlchemy는 파이썬 개발자들에게 데이터베이스와의 상호작용을 쉽게 처리할 수 있는 강력한 도구입니다. 이번 포스트에서는 SQLAlchemy를 사용하여 Oracle 데이터베이스와의 연동 방법을 알아보았습니다. SQLAlchemy를 활용하여 데이터베이스 작업을 간편하게 처리해보세요!