개발은 처음이라 개발새발

[sqlalchemy] sqlalchemy를 활용한 DB연동 - 1 본문

파이썬

[sqlalchemy] sqlalchemy를 활용한 DB연동 - 1

leon_choi 2024. 6. 2. 19:53
반응형

python를 통해 데이터를 분석하려면 우선 분석할 자료가 필용합니다. 개인 공부를 할 때는 보통 오픈 데이터를 활용하기 때문에 오픈 데이터를 제공받을 수 있는 사이트에 가서 엑셀 형식을 데이터를 다운로드 받아 pandas 라이브러리를 통해 .csv나 .xlsx의 엑셀 파일을 열어 데이터프레임으로 저장한 뒤 작업을 진행합니다. 

 

그러나 실제 업무에서는 회사에 쌓아놓은 데이터베이스에서 데이터를 불러와 가공하는데요. 그렇기에 python 환경과 sql에 데이터베이스를 연동하는 방법에 대해서 알아야 합니다. sql를 연동하는 방법 pymsql과 sqlalchemy 두 가지가 있는데요. sqlalchemy를 활용해 데이터베이스를 연동해보도록하겠습니다.

 

## 패키지 설치

pip install sqlalchemy
pip install psycopg2-binary  # PostgreSQL을 사용하는 경우
# 또는
pip install pymysql  # MySQL을 사용하는 경우

 

##sqlalchemy를 활용한 기본 연동

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

# MSSQL 서버 연결 정보 설정
server = 'your_server'  # 서버 이름 또는 IP 주소
database = 'your_database'  # 데이터베이스 이름
username = 'your_username'  # 사용자 이름
password = 'your_password'  # 비밀번호
driver = 'ODBC Driver 17 for SQL Server'  # 사용 중인 ODBC 드라이버

# 연결 문자열 구성
connection_string = f'mssql+pyodbc://{username}:{password}@{server}/{database}?driver={driver}'

# SQLAlchemy 엔진 생성
engine = create_engine(connection_string)

# 세션 메이커 설정
Session = sessionmaker(bind=engine)
session = Session()

# 데이터베이스 연결 확인 (예: 첫 번째 테이블 이름 출력)
result = engine.execute("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES")
for row in result:
    print(row.TABLE_NAME)

# 세션 종료
session.close()

 

여기까지 sqlalchemy를 활용해 sql를 연동하는 법에 대해 알아봤는데요. 다음 시간에는 이를 좀 더 발전시켜 class와 함수를 활용해 모듈화 하여 DB 연동에 대해  유지보수가 좀 더 편리해지도록 만들어보겠습니다. 

반응형