작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
346
0
강의 13:23
import pymysql
db = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='funcoding', db='ecommerce', charset='utf8')
cursor = db.cursor()
for index in range(10):
product_code = 215673140 + index + 1
sql = """INSERT INTO product VALUES(
'""" + str(product_code) + """', '스위트바니 여름신상5900원~롱원피스티셔츠/긴팔/반팔', 23000, 6900, 70, 'F'); """
print (sql)
cursor.execute(sql)
db.commit()
db.close()
--------------------------------------
13:23 에서
'""" + str(product_code) + """', '스위트바니 여름신상5900원~롱원피스티셔츠/긴팔/반팔', 23000, 6900, 70, 'F'); """
'""" + str(product_code) + """' 이부분에서 str로 이미 문자열이 되었는데 큰따움표 쓰는거랑 작은따움표를 왜 추가하신건지 궁금합니다.
그냥 'str(product_code)' 로 쓰면 안되나요?
답변 1
0
일단 SQL 을 정확히 만들어서 전달해야 하는데요.
SQL 에서는 '문자열' 로 따옴표를 넣어줘야 해서요. 그 부분을 추가한 것이고, 이게 SQL 자체가 긴 스트링이다보니까요. 여러 줄에 걸쳐서 최종적으로 하나의 스트링으로 된 SQL 을 만들 때, 보통 """ 를 많이 쓰기 때문에, 이와 같이 작성하였습니다. 제가 정확히 이해한 것인지는 모르겠지만, 말씀하신대로 그냥 'str(product_code)' 이렇게 쓰면 따옴표까지의 문자열과, 문자열 변수를 합치는 문법을 적용하지 않아서, 에러 날 것 같기도 한데요. 결과적으로는 전체 SQL 을 자동으로 문자열로 만들어야 해서요.