이 글에서는 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 기반 애플리케이션을 더욱 강력하고 신뢰성있게 개발할 수 있습니다.
'취미' 카테고리의 다른 글
[Bokeh] 파이썬 그래프 bokeh - 파이썬 시각화 도구 bokeh 여러개 차트를 한번에 (0) | 2024.01.23 |
---|---|
[DB] Linux MariaDB 설치하기 (0) | 2024.01.22 |
[Linux] 리눅스 스토리지 마운트 centos7 (0) | 2024.01.21 |
[도커] Docker 환경 세팅, Docker 접속, DockerFile 작성 (0) | 2024.01.21 |
ImportError: /usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found 해결하기 (0) | 2024.01.20 |