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.1.tar.gz (53.5 kB view details)

Uploaded Source

Built Distribution

sqlparse-0.2.1-py2.py3-none-any.whl (38.3 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for sqlparse-0.2.1.tar.gz
Algorithm Hash digest
SHA256 1c98a2bdffe67f1bb817b72a7ba4d38be592e0f07c5acea4adebcec12c4377d1
MD5 f40771e9ad2ff5ef5a6158ec13ea108f
BLAKE2b-256 c3c46159720e7a100cd419bac31a202898e291e5af29e4ada09ee58f7eeaa076

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sqlparse-0.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cbe7a47b3eb8c5d5172cc4ce0ed2ed9aaafc37348a6d61fd1de8f3fcf8e1e94f
MD5 adfe78acb255224419dc577f0c6a6e8d
BLAKE2b-256 183f6f7182f040a083f9d8645dd28cb4ebfa6f90aca1bd6f61b36259966d148b

See more details on using hashes here.

Supported by

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