SQL 쿼리 문자열을 형식화하는 가장 좋은 방법을 찾으려고합니다. 내 응용 프로그램을 디버깅 할 때 모든 SQL 쿼리 문자열을 파일에 기록하고 싶습니다. 문자열의 형식이 올바르게 지정되어 있어야합니다.
옵션 1
def myquery():
sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2"
con = mymodule.get_connection()
...
- 이것은 SQL 문자열을 인쇄하는 데 좋습니다.
- 문자열이 길고 표준 너비 인 80 자에 맞지 않는 경우 좋은 솔루션이 아닙니다.
옵션 2
def query():
sql = """
select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
여기 코드는 명확하지만 SQL 쿼리 문자열을 인쇄하면 이러한 모든 성가신 공백이 나타납니다.
u '\ n 테이블에서 field1, field2, field3, field4 \ n_ _ ___ 선택 \ n _ ___ where condition1 = 1 \ n _ ___ _and condition2 = 2'
참고 : 공백 _
은 편집기에 의해 잘 리기 때문에 밑줄로 대체 했습니다.
옵션 3
def query():
sql = """select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
- 이 옵션은 잘 표로 작성된 코드의 명확성을 깨뜨리기 때문에 마음에 들지 않습니다.
옵션 4
def query():
sql = "select field1, field2, field3, field4 " \
"from table " \
"where condition1=1 " \
"and condition2=2 "
con = mymodule.get_connection()
...
- 이 옵션이 마음에 들지 않습니다. 각 줄에 모든 추가 입력이 있고 쿼리도 편집하기 어렵 기 때문입니다.
나에게 가장 좋은 해결책은 옵션 2 이지만 SQL 문자열을 인쇄 할 때 추가 공백이 마음에 들지 않습니다.
다른 옵션을 알고 있습니까?