pymysql Insert 방법

1579 단어 pymysqlpythonpymysql

개요

pymysql에서 insert 방법으로
INSERT INTO {table명} COLUMNS {칼럼명} VALUES (%s, %s ..)
방식만 사용했었다.

위의 방법을 사용했을 때,
복수 실행문 executemany에서는 error가 없었으나
단일 실행문 execute에서는 error가 발생했다.

방법

  1. list형
  2. dict형

예제 데이터 (df)

AB
1a
3b
5c

list형

INSERT INTO 테이블명 (칼럼명) VALUES (%s, %s ...)

query = "INSERT INTO TB_NM (`A`, `B`) VALUES('%s', '%s') 

# executemany
db.cursor.executemany(query, df.values.tolist())
db.connect.commit()

# execute
for i in range(df.shape[0]):
	db.cursor.execute(query, df.iloc[i, :].values.tolist())
db.connect.commit()

dict형

INSERT INTO 테이블명 (칼럼명) VALUES (%(col1)s, %(col2)s, ...)
query = "INSERT INTO TB_NM (`A`, `B`) VALUES('%(A)s', '%(B)s') 

# executemany
db.cursor.executemany(query, df.values.tolist())
db.connect.commit()

# execute
for i in range(df.shape[0]):
	db.cursor.execute(query, df.iloc[i, :].values.tolist())
db.connect.commit()

참고

좋은 웹페이지 즐겨찾기