인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

실전 SQL 데이터 분석 연습: 집계 함수 익히고 실제 DB로 연습하기 (업데이트)

큰따옴표 질문입니다.

작성

·

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 을 자동으로 문자열로 만들어야 해서요.

 

 

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기