소스가 csv이거나 python 코딩을 하다가 dataframe 데이터가 산출될 때 이것을 테이블로 만들고 싶은 경우가 있을 수 있다.
처음에 pymysql로 db 객체 만들어서 conn에 넣어주는데 계속 컬럼 개수가 안맞다는 둥 에러가 났다. 구글 검색해보니 친절하신 분께서 답을 내주셔서 쉽게 진행할 수 있었다.
# pip install pymysql
# pip install sqlalchemy
import pymysql
from sqlalchemy import create_engine
# MySQL Connector using pymysql
pymysql.install_as_MySQLdb()
import MySQLdb
# {} 안에 해당하는 정보 넣기. {}는 지우기.
engine = create_engine("mysql+mysqldb://{User}:{Password}@{Host}:3306/{Database}}", encoding='utf-8')
conn = engine.connect()
# MySQL에 저장하기
# 변수명은 이전에 만든 데이터프레임 변수명
# name은 생성할 테이블명
# index=False, 인덱스 제외
match_info.to_sql(name='pcs3as_matches_info', con=engine, if_exists='append', index=False)
미리 테이블을 만들면 exist에러가 나니 주의하자. 자료형이나 기본키같은 옵션은 만들어진 테이블에서 업데이트 해야할 것 같다.
'MySQL' 카테고리의 다른 글
MySQL 외부접속 허용하기 (0) | 2022.09.12 |
---|---|
Ubuntu MySQL 설치하기 (0) | 2022.09.12 |
mysql connection pool (0) | 2021.08.31 |
MySQL 디비 커넥트 지속시키기 (0) | 2021.07.13 |