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

SQLAlchemy는 파이썬에서 데이터베이스를 다루기 위한 유용한 도구입니다. 이번 포스트에서는 SQLAlchemy를 사용하여 PostgreSQL 데이터베이스와 연동하는 방법에 대해 알아보겠습니다.

1. SQLAlchemy 설치

먼저, SQLAlchemy를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install sqlalchemy

2. PostgreSQL 데이터베이스 설정

SQLAlchemy와 PostgreSQL을 연동하기 위해서는 먼저 PostgreSQL 데이터베이스를 설치하고 설정해야 합니다. PostgreSQL 데이터베이스가 설치되어 있지 않은 경우, 공식 웹사이트를 참조하여 설치할 수 있습니다.

데이터베이스 서버 주소, 포트 번호, 데이터베이스 이름, 사용자 이름과 비밀번호 등의 정보를 확인해야 합니다. 이러한 정보는 SQLAlchemy에서 PostgreSQL과의 연동에 필요합니다.

3. SQLAlchemy 연동 설정

SQLAlchemy로 PostgreSQL과 연동하기 위해서는 연결 문자열(connection string)을 작성해야 합니다. 이 연결 문자열은 다음과 같은 형식입니다.

postgresql://<username>:<password>@<host>:<port>/<database_name>

위의 연결 문자열에서 <username>, <password>, <host>, <port>, <database_name>은 각각 PostgreSQL 데이터베이스에 접속하기 위한 정보입니다.

예를 들어, PostgreSQL 서버 주소가 localhost, 포트 번호가 5432, 데이터베이스 이름이 mydatabase, 사용자 이름이 myuser, 비밀번호가 mypassword인 경우, 다음과 같이 연결 문자열을 작성할 수 있습니다.

postgresql://myuser:mypassword@localhost:5432/mydatabase

4. SQLAlchemy를 이용한 데이터베이스 연동

이제 SQLAlchemy를 사용하여 PostgreSQL 데이터베이스와 연동해보겠습니다. 먼저, SQLAlchemy 모듈을 임포트합니다.

from sqlalchemy import create_engine

그리고 연결 문자열을 사용하여 SQLAlchemy 엔진을 생성합니다.

engine = create_engine('postgresql://myuser:mypassword@localhost:5432/mydatabase')

이제 engine 객체를 사용하여 데이터베이스와의 연결을 수행할 수 있습니다. 예를 들어, SELECT 쿼리를 실행하여 데이터를 가져와보겠습니다.

with engine.connect() as connection:
    result = connection.execute("SELECT * FROM mytable")
    for row in result:
        print(row)

위의 예제에서 mytable은 PostgreSQL 데이터베이스에 있는 테이블의 이름입니다. 필요에 따라 쿼리를 수정하여 원하는 동작을 수행할 수 있습니다.

마치며

이제 SQLAlchemy를 사용하여 PostgreSQL 데이터베이스와 연동하는 방법을 알아보았습니다. SQLAlchemy는 다양한 데이터베이스와의 연동을 지원하고 있는 유용한 도구이므로, 데이터베이스 애플리케이션을 개발할 때 활용할 수 있습니다.