MySQL insert 쿼리문 작성할 때 주의할 점
2019. 8. 30. 16:19ㆍPL/Python
sql 쿼리 작성시 반드시 value는 튜플 형태로 넣어야 한다. 2개 이상일 때는 (val1, val2)로 자동으로 튜플 형태로 넣게 되는데 데이터 하나를 넣을 때는 단독으로 쓰이기 때문에 튜플로 인식되지 못하게 할 수 있다. 튜플로 인식되게 하기 위해서는 반드시 (val1, ) ,를 붙여 튜플 형태로 만들어야만 한다
예시)
var = 1
print(type(val)) # int
var = (1)
print(type(val)) # int
var = (1, )
print(type(val)) # tuple
파일을 읽어와 리스트로 만들어, 쿼리 테이블에 삽입하는 코드
import mysql.connector
f = open("C:\python-mysql\output.txt", "r", encoding='utf8')
c_list = []
while True:
c_list = (f.readline()).split(',')
break
f.close()
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="8993",
database="world"
)
mycursor = mydb.cursor()
mycursor.execute("DROP TABLE my_country")
mycursor.execute("CREATE TABLE my_country (name VARCHAR(45))")
for x in c_list:
sql = "INSERT INTO my_country (name) VALUES (%s)"
val = (x, )
mycursor.execute(sql, val)
mydb.commit()
'PL > Python' 카테고리의 다른 글
vs code에서 Jupyter notebooks 환경 구축 (0) | 2019.08.30 |
---|---|
atom Hydrogen 설치 (0) | 2019.08.30 |
파이썬에서의 스택과 큐 (0) | 2019.08.29 |
UnicodeDecodeError: 'cp949' 에러 해결 (0) | 2019.08.29 |
__init__.py (0) | 2019.08.28 |