Python 에서 sql 에 대한 formatting 을 하려면 어떻게 해야 할까요?
많은 패키지들이 있지만 최근까지도 update 가 이뤄지고 있는 sqlparse 를 사용해 보기로 하였습니다.
Document -> https://sqlparse.readthedocs.io/en/latest/
설치하기
설치는 pip 를 이용하여 간단히 할 수 있습니다.
pip install sqlparse
|
현재(2016/08/18 기준) 최신버전은 0.2.1 입니다.
사용하기
$ python
>>> import sqlparse >>> print(sqlparse.format('select * from foo', reindent=True)) select * from foo |
sqlparse 기능 소개
기본적으로 3가지 기능을 제공합니다.
- split
sql 을 구문별로 분리하는 기능입니다. 예를 들어 select 절, from 절, where 절을 구분할 수 있습니다.
- format
sql 을 보기좋게 formatting 하는 기능입니다.
option 에 따라 formatting 형식을 변경할 수 있습니다. 옵션별 설명은 뒤에서 설명하겠습니다.
- parse
sql 을 구문별로 파싱하는 기능입니다. 예를들어 sql 의 각 단어별로 파싱하여 tuple 로 가져올 수 있습니다.
Format 기능 Option
- keyword_case
SQL 키워드(SELECT, FROM 등) 를 어떻게 처리할지에 대한 옵션입니다.
‘upper’, ‘lower’, capitalize’ 중 선택할 수 있습니다. - identifier_case
- strip_comments
True 로 설정되면 주석구문을 삭제합니다. - truncate_strings
- truncate_char
- reindent
True 로 설정되면 들여쓰기를 적용합니다. - indent_tabs
True 로 설정되면 들여쓰기시 space 가 아닌 Tab 을 사용합니다. - indent_width
들여쓰기 범위를 의미합니다. 기본값은 2입니다. - wrap_after
- output_format
프로그래밍 언어별로 sql 을 formatting 할 수 있습니다.
“python” 또는 “php” 를 선택할 수 있습니다.
참고
'Programing > Python' 카테고리의 다른 글
Python + Jenkins 연동 (0) | 2016.08.26 |
---|---|
PyJNIus 사용기 (0) | 2016.07.28 |
PEP8 이란? (0) | 2016.07.27 |
APScheduler 사용기 (0) | 2016.07.26 |
JPype 사용기 (0) | 2016.07.19 |