본문 바로가기
취미

[DB] Python DB 데이터베이스 연결

by climb_JJIYO 2024. 1. 21.
반응형

이 글에서는 pymysql을 사용하여 python에서 데이터베이스를 연결하는 방법을 설명합니다.

pymysql은 python에서 mysql 데이터베이스와 상호작용하기 위한 라이브러리 중 하나입니다. 이 라이브러리는 Mysql 서버와의 통신을 용이하기 만들어주며, Python 프로그램에서 MySQL 데이터베이스에 연결하고 쿼리를 실행하는 데 사용됩니다.

Python에서 DB 연동(MySQL)

1.Pymysql 설치

pip을 통해 간편하게 설치할 수 있습니다. 설치 후에는 간단하게 Mysql 서버에 연결하고 SQL 쿼리를 실행할 수 있습니다.

pip install pymysql

 

2. Pymysql 라이브러리 import

python 프로그래머가 익숙한 스타일로 인터페이스를 제공합니다. Python의 데이터 구조와 통합이 자연스럽게 이루어져 코드 작성이 간결하고 직관적입니다.

 

1) MYSQL 연동을 할 수 있는 pymysql 라이브러리를 임포트합니다.

import pymysql
import pandas as pd
import numpy as np

 

2) 연동할 DB 정보를 변수로 지정합니다. (host, port, id , pw 등 ...)

_database = {'host' : 'IP주소',
             'port' : 포트번호,
             'user' : '아이디',
             'passwd' : '비밀번호',
             'db' : '데이터베이스명',
             'charset' : 'utg8(인코딩)'}

 

 

3. DB 연동

1) DB 연결 : 특정 데이터 베이스와 연결합니다. ip 및 포트 정보 등이 필요합니다.

2) Cursor 생성 : 연결한 DB 베이스의 DB를 호출할 수 있도록 합니다.

3) Qurey 입력 : 호출하고자 하는 쿼리문을 입력합니다.

4) 데이터 호출 : 불러온 데이터를 파이썬에서 다루기 쉽도록 데이터 프레임화 할 수 있습니다.

5) Commit : 쿼리문을 Commit 합니다.

# DB 연결
conn = pymysql.connect(host = _database['host'],
                        port=_database['port'],
                        user=_database['user'],
                        passwd=_database['passwd'],
                        db=_database['db'],
                        charset=_database['charset'])
                        
# Cursor 생성
cur = conn.cursor()

# 쿼리 입력
query = "SELECT * FROM [테이블명]"
res = cur.execute(query)

# 데이터 호출 및 데이터프레임화
data = cur.fetchall()
df_data = pd.DataFrame(data)

# 확정
conn.commit()

# Cursor 종료
cur.close()

# 연결 종료
conn.close()

 

 

4. MSSQL인 경우

MSSQL인 경우는 MYSQL과 유사하나 불러오는 라이브러리에 차이가 있습니다. 

pymysql을 import 해야 합니다.

# pymssql 라이브러리
import pymssql

# connect 연결
conn = pymssql.connect(server = _database['host'],
                        port=_database['port'],
                        user=_database['user'],
                        password=_database['passwd'],
                        database=_database['db'],
                        charset=_database['charset'])

 

쿼리문에는 SELECT 뿐만이 아니라 update, delete 등 다양한 쿼리문 실행이 가능합니다.

 

위의 Python 코드는 pymysql을 사용하여 MySQL 데이터베이스와 연동하는 간단한 예시를 보여줍니다. 이를 통해 Python 프로그램에서 MySQL 데이터베이스에 연결하고 쿼리를 실행하는 방법을 이해할 수 있습니다. 데이터베이스 연동은 많은 웹 애플리케이션 및 데이터 기반 애플리케이션에서 필수적인 요소이며, pymysql은 이러한 작업을 간단하고 효율적으로 수행할 수 있도록 도와줍니다.

 

결론적으로, Python과 MySQL을 연동하여 데이터를 조작하는 것은 데이터 분석, 웹개발, 자동화 등 다양한 분야에서 유용하게 활용될 수 있습니다. 따라서, pymysql을 활용하여 MySQL 데이터베이스와의 통합을 통해 Python 기반 애플리케이션을 더욱 강력하고 신뢰성있게 개발할 수 있습니다.

반응형