오음

DB에 저장,가져오기 본문

데이터 엔지니어링/DB

DB에 저장,가져오기

오준돌 2023. 3. 13. 00:53

DB 올리기 

1. pymysql이용

# DB에 새로운 테이블 형성
create table newkbo (
    name varchar(10),
    ...,
    ...,
    ...,
    ...,
    ...
)

# DB와 연결
import pymysql
try:
    con = pymysql.connect(host='192.168.56.101', 
                          user='oh', password='123', 
                          charset='utf8', db='test')
    cur = con.cursor()
except Exception as e:
    print ("error ->", e)
    

# 형태 확인
for i in total:
    print(list(i.values()))
    break
[' 강매성', ' No.23', ' 2003년 06월 08일', ' 투수(우투우타)', ' 187cm/94kg', ' 상탄초(일산동구리틀)-개군중-공주고', ' 5000만원', ' 3000만원', ' 22 SSG 2차 6라운드 52순위', ' ']


# DB에 있는 columns개수와 일치시키기
sql = "INSERT INTO newkbo VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
# 데이터 넣기
for data in total:
    try:
        cur.execute(sql, list(data.values()))
    except:
        pass
 
# 완료 처리하기 
con.commit()

 

2 . engine 이용

# sqlalchemy 설치
pip install sqlalchemy
from sqlalchemy import create_engine

# connection 모듈이용 # 아래 참조
connection(host='192.168.56.101', user='encore', password='123', 
                              charset='utf8', db='test')
                              
# engine 생성
engine  = create_engine("mysql+pymysql://encore:123@192.168.56.101/test", echo=False)


# 편의점2 df를 sql로 test 데이터베이스의 convenience에 저장
편의점2.to_sql(name="convenience", if_exists='append', con=engine)

DB에서 가져올 때

import pandas as pd
df = pd.read_sql_query("select * from KRX", con)

 

dbconnect.py 모듈 만들기

import pymysql

def connection(host='192.168.56.101', user='encore', password='123', 
                              charset='utf8', db='test'):
    """
        host : bla bla ~~
        return cur, con
    """
    try:
        con = pymysql.connect(host=host, 
                              user=user, password=password ,
                              charset=charset, db=db)
        cur = con.cursor()
    except Exception as e:
        print ("error ->", e)
    
    return cur, con
    
    import dbconnect
    help(dbconnect.connection)

'데이터 엔지니어링 > DB' 카테고리의 다른 글

데이터 모델링  (0) 2023.10.12
sqlDB와 파이썬 연동 pymysql  (0) 2023.03.09