Skip to main content

Non-validating SQL parser

Project description

sqlparse is a non-validating SQL parser module. It provides support for parsing, splitting and formatting SQL statements.

Visit the project page for additional information and documentation.

Example Usage

Splitting SQL statements:

>>> import sqlparse
>>> sqlparse.split('select * from foo; select * from bar;')
[u'select * from foo; ', u'select * from bar;']

Formatting statemtents:

>>> sql = 'select * from foo where id in (select id from bar);'
>>> print sqlparse.format(sql, reindent=True, keyword_case='upper')
SELECT *
FROM foo
WHERE id IN
  (SELECT id
   FROM bar);

Parsing:

>>> sql = 'select * from someschema.mytable where id = 1'
>>> res = sqlparse.parse(sql)
>>> res
(<Statement 'select...' at 0x9ad08ec>,)
>>> stmt = res[0]
>>> str(stmt)  # converting it back to unicode
'select * from someschema.mytable where id = 1'
>>> # This is how the internal representation looks like:
>>> stmt.tokens
(<DML 'select' at 0x9b63c34>,
 <Whitespace ' ' at 0x9b63e8c>,
 <Operator '*' at 0x9b63e64>,
 <Whitespace ' ' at 0x9b63c5c>,
 <Keyword 'from' at 0x9b63c84>,
 <Whitespace ' ' at 0x9b63cd4>,
 <Identifier 'somes...' at 0x9b5c62c>,
 <Whitespace ' ' at 0x9b63f04>,
 <Where 'where ...' at 0x9b5caac>)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqlparse-0.2.3.tar.gz (60.7 kB view details)

Uploaded Source

Built Distribution

sqlparse-0.2.3-py2.py3-none-any.whl (38.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file sqlparse-0.2.3.tar.gz.

File metadata

  • Download URL: sqlparse-0.2.3.tar.gz
  • Upload date:
  • Size: 60.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for sqlparse-0.2.3.tar.gz
Algorithm Hash digest
SHA256 becd7cc7cebbdf311de8ceedfcf2bd2403297024418801947f8c953025beeff8
MD5 69abb3a9181cf0477b3704b152913629
BLAKE2b-256 456714bdaeff492e6d03a055fe80502bae10b679891c25a0dc59be2fe51002f8

See more details on using hashes here.

File details

Details for the file sqlparse-0.2.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for sqlparse-0.2.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 740a023ef38ce11bbb99a9d143856f56ef4ec5b0d7a853f58c02c65b035114c4
MD5 22c6a33c2fd79702ea64bee5cff626a0
BLAKE2b-256 9b57d9d2848e5435c8a53461bb7b95421dc9a82cb31235cb101d28667d1a2104

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page