티스토리 뷰

Python으로 db작업을 하려면 일단 connection을 맺고 query를 날려야 합니다.

일단 db는 생성해서 위 4개의 row를 넣은 상태입니다.

아래 코드는 그 코드이다. db이름은 hello_db입니다.

라이브러리는 mysql-connector를 설치해주면 됩니다.

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="12345678",
  database='hello_db'
)

cursor = mydb.cursor()
query = ("select * from users")

cursor.execute(query)

for ddd in cursor:
  print(ddd)

python에서 위 코드를 실행 하면 아래와 같은 결과가 나옵니다.

pandas로 하기

from sqlalchemy import create_engine
import pandas as pd

engine = create_engine("mysql+mysqldb://{}:{}@localhost/{}?charset=utf8".format('root', '', 'hello'), encoding='utf-8')
conn = engine.connect()

df = pd.read_json('tf_elem_middle.json', encoding='utf-8')

df.to_sql(name='bye', con=conn, if_exists='append')

sqlalchemy로 connection object를 생성합니다.

인코딩 에러가 난다면 ?charset=utf8를 넣어주세요.

위 코드를 실행 하면 db에 'bye'라는 table이 만들어 지고 데이터가 insert됩니다.

df.to_sql(name='data_set2', con=conn, if_exists='append', index=False)

[SQL: INSERT INTO data_set2 (`index`, `CODE`) VALUES (%s, %s)]

위와 같이 이미 존재하는 table에 insert할 때 'index'컬럼 값이 insert 되지 않게 하려면 위와 같이 index옵션을 False로 해주어야 합니다.

 

end.

728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함