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

David Ko님의 프로필 이미지
David Ko

작성한 질문수

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

-------------------------------------------------------------------

12:00 문자열 질문드려요

작성

·

166

0

선생님 이해가 되지 않는 부분 문의드립니다.
 
""" + str(item_info['ori_price']) + """, """ + str(item_info['dis_price']) + """, """ + str(item_info['discount_percent']) + """,
이부분에서 왜 str()로 왜 감싸는지 이해가 되지않습니다.
숫자는 문자열과 문자열로 더할수 없다는 표현이라고 설명하시는데
이유가 궁금합니다.
 
 
- 본 강 if result[0] == 0: sql = """INSERT INTO items VALUES('""" + item_info['item_code'] + """', '""" + item_info['title'] + """', """ + str(item_info['ori_price']) + """, """ + str(item_info['dis_price']) + """, """ + str(item_info['discount_percent']) + """, '""" + item_info['provider'] + """')""" print(sql) cursor.execute(sql)
 
 
 
 
의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)
- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다
- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

답변 2

0

David Ko님의 프로필 이미지
David Ko
질문자

감사합니다. 문법이 아직 덜 익숙해서 인가봐요

선생님 다른 강의영상도 참고 하면서 공부 하겠습니다. 

차근차근 설명잘해주셔서 감사합니다. 

0

안녕하세요.

 

크게 보면, 결국 sql 변수에 SQL 구문을 문자열로 넣은 후, 이를 cursor.execute() 를 통해 실행시키는 것인데요. 파이썬에서 문자열 과 문자열을 더하면, 두 문자열을 붙일 수 있습니다. 이런 방식을 통해, 길고 온전한 SQL 구문을 만든 것인데요.

문자열A + 문자열B 는 결국 문자열A문자열B 가 되지만,

문자열A + 숫자 등은 에러가 납니다. 둘을 더할 수 없으니까요.

그래서, str() 은 item_info 의 각 데이터가 혹시라도 숫자일까봐 이를 문자열로 바꾸는 명령이고, 이를 통해 결국 문자열A + 문자열B 이 처리되어 문자열A문자열B 로 만들기 위해 사용하였습니다.

 

아마 이 부분등이 애매하시다면, 기본 문법 정리가 조금 덜되셔서나 익숙하지 않으셔서일 수도 있습니다. 그런 부분은 다음 강의에서 잘 정리해놓고, 문제도 많이 넣어놨는데, 이 부분도 참고해보시면 좋을 것 같습니다.

https://www.inflearn.com/course/python-crawling-basic

 

감사합니다.

David Ko님의 프로필 이미지
David Ko

작성한 질문수

질문하기