PYTHON with MYSQL

항니·2022년 1월 11일
0

파이썬과 SQL은 각각 장점이 있는데요.
둘 다 사용하여 데이터를 분석하고 싶으면 어떻게 하면 될까요?

바로 파이썬으로 MySQL에 접속해서 사용하면 된답니다!

1. 터미널에서 가상환경을 활성화합니다.

2. VSCode나 웹에서 jupyter notebook을 실행합니다.

3. ipynb 파일을 생성합니다.

4. 터미널에서 MySQL Driver를 설치합니다.

pip install mysql-connector-python

5. 설치를 확인합니다.

import mysql.connector

6. MySQL에 접속합니다

  • 로컬 서버
local = mysql.connector.connect(
	host = '호스트이름',
    user = '유저이름',
    password = '패스워드'
    # 바로 특정 데이터베이스에 연결하고싶다면
    database = '데이터베이스이름'
)
# 데이터베이스를 닫으려면
local.close()
  • 원격 서버(AWS)
remote = mysql.connector.connect(
	host = '호스트이름',
    port = 포트넘버,
    user = '유저이름',
    password = '패스워드'
)
remote.close()

7. 쿼리 실행

import mysql.connector

local = mysql.connector.connect(
	host = '호스트이름',
    user = '유저이름',
    password = '패스워드'
    database = '데이터베이스이름'
)
cur = local.cursor()
cur.execute('CREATE TABLE sql_file (id int, filename varchar(16))')

local.close()

8. CSV -> PYTHON

import pandas as pd
station = pd.read_csv('./sql_project/지역별 전기차 충전소 현황정보.csv',encoding='euc-kr')
station.head()

9. pandas -> sql

import mysql.connector
local = mysql.connector.connect(
    host = '호스트이름'
    user = '유저이름',
    password = '패스워드',
    database = '데이터베이스이름'
)

cur = local.cursor(buffered=True)
sql = 'INSERT INTO ELECTRO_CAR VALUES (%s, %s, %s, %s)'
for i, row in df_car.iterrows():
    cur.execute(sql, tuple(row))
    print(tuple(row))
    local.commit()
profile
3D 모델 플랫폼에서 데이터 분석을 하고 있습니다

0개의 댓글