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 statements:

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

Uploaded Source

Built Distribution

sqlparse-0.3.0-py2.py3-none-any.whl (39.7 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: sqlparse-0.3.0.tar.gz
  • Upload date:
  • Size: 64.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for sqlparse-0.3.0.tar.gz
Algorithm Hash digest
SHA256 7c3dca29c022744e95b547e867cee89f4fce4373f3549ccd8797d8eb52cdb873
MD5 2ce34181d6b7b234c9f3c0ecd1ffb93e
BLAKE2b-256 63c8229dfd2d18663b375975d953e2bdc06d0eed714f93dcb7732f39e349c438

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlparse-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 39.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for sqlparse-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 40afe6b8d4b1117e7dff5504d7a8ce07d9a1b15aeeade8a2d10f130a834f8177
MD5 19aaa5c1cdb4fcae4fd0717f104c524d
BLAKE2b-256 ef53900f7d2a54557c6a37886585a91336520e5539e3ae2423ff1102daf4f3a7

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