본문 바로가기
SQL

[Python/MySQL] Python과 MySQL 연동하기 (pymysql)

by 빅데이터1020 2021. 5. 20.
SMALL

Python에서 MySQL에 연동하면 DB에 있는 데이터를 불러와서 분석에 사용할 수 있습니다.

1. 필요한 모듈 불러오기

import pandas as pd
from sqlalchemy import create_engine
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb

 

2. DB에 연결하기

engine = create_engine("mysql+mysqldb://Username:"+"Password"+"@Hostname:Port", encoding='utf-8')
conn = engine.connect()

Username, Password, Hostname:Port 에는 연결하고 싶은 DB의 정보를 넣으면 됩니다.

(Port가 없으면 Hostname 만 쓰면 됩니다.)

 

3. 새로운 Dataframe 불러와서 테이블로 업로드하기

df = pd.read_csv('test.csv', encoding='utf8')
df.to_sql('test', engine, if_exists = 'replace', index=False, schema='test')

to_sql 메서드의 파라미터 중 'if_exists' 는 유용한 파라미터입니다.

if_exists는 데이터베이스에 테이블이 존재할 때 수행동작을 지정합니다.

'fail' 데이터베이스에 테이블이 있다면 아무 동작도 수행하지 않음
'replace' 테이블이 존재한다면 기존 테이블을 삭제하고 새로 테이블을 생성한 후 데이터를 삽입
'append' 테이블이 존재하면 데이터만을 추가함

 

4. DB의 테이블을 Dataframe으로 SELECT 해오기

data = pd.read_sql_query('SELECT * FROM test', conn)

 

5. 연결 끊기

conn.close()

 

LIST