인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

vpdtlrdl's profile image
vpdtlrdl

asked

[Renewal] SQL and Database (MySQL) Bootcamp for Beginners [From Introduction to Utilization]

Practical SQL Data Analysis Practice: Learn Aggregation Functions and Practice with a Real DB (Updated)

따옴표의 사용에 관한 질문입니다

Written on

·

217

0

강의에서 보여주신 코드 중 

sql = """INSERT INTO product VALUES(
    '""" + str(product_code) + """', '스위트바니 여름신상5900원~롱원피스티셔츠/긴팔/반팔', 23000, 6900, 70, 'F'); """

다음 부분에서 조금 막혀 혼자 고민을  해봤습니다.

제가 나름대로 내린 결론은, 

해당 코드는

"""INSERT INTO product VALUES('"""

 

str(a)

 

"""', '스위트바니 여름신상5900원~롱원피스티셔츠/긴팔/반팔', 23000, 6900, 70, 'F');"""

다음과 같이 세 부분으로 나누어진 형태이고, 이를 연결하기 위해 +를 사용하였다는 것 입니다.

그리고, 여기서 굳이 """ 를 이용한 이유는 

코드가 한 줄을 넘겨서 작성될 수도 있으므로

멀티라인 입력을 통해, 일반적인 따옴표를 이용할 때 생길 수도 있는 오류를 피하기 위해서 라고 생각하였는데요,

혹시 제가 생각한 것이 맞는 건가요?

평소에 보던 문자열과는 조금 다르다 보니 헷갈리네요...

답변해 주신다면 정말 많이 도움될 것 같습니다. 감사합니다.

sqlpythonmysqlDBMS/RDBMS데이터 엔지니어링

Answer 1

1

funcoding님의 프로필 이미지
funcoding
Instructor

안녕하세요.

 

네 말씀하신 바가 맞습니다.

SQL 구문을 자동으로 만들어야 하다보니, 중간에 변수 값이 포함된 SQL 을 만들어야 해서, + 를 썼었고, SQL 구문이 좀 길다보니까, 한줄 넘어가는 케이스도 있을까봐 """ 이 문법을 썼습니다.

""" <--- 이게 좀 특이하긴 한데, 말씀하신 멀티라인 지원이라고 보시면 좋을 것 같습니다. 저도 이 문법이 들어간 코드를 작성할 때는 헷깔려서 여러차례 코드를 고쳐서 실행하는 경우가 많았어요~~~

 

vpdtlrdl's profile image
vpdtlrdl

asked

Ask a question