티스토리 뷰

Programing/Python

sqlparse 사용기

Tomining 2016. 8. 18. 23:12
Python  에서 sql 에 대한 formatting 을 하려면 어떻게 해야 할까요?
많은 패키지들이 있지만 최근까지도 update 가 이뤄지고 있는 sqlparse 를 사용해 보기로 하였습니다.


설치하기

설치는 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가지 기능을 제공합니다.

  1. split
    sql 을 구문별로 분리하는 기능입니다. 예를 들어 select 절, from 절, where 절을 구분할 수 있습니다.



  2. format
    sql 을 보기좋게 formatting 하는 기능입니다.
    option 에 따라 formatting 형식을 변경할 수 있습니다. 옵션별 설명은 뒤에서 설명하겠습니다.



  3. 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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함