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

Uploaded Source

Built Distribution

sqlparse-0.3.1-py2.py3-none-any.whl (40.8 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: sqlparse-0.3.1.tar.gz
  • Upload date:
  • Size: 67.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for sqlparse-0.3.1.tar.gz
Algorithm Hash digest
SHA256 e162203737712307dfe78860cc56c8da8a852ab2ee33750e33aeadf38d12c548
MD5 423047887a3590b04dd18f8caf843a2f
BLAKE2b-256 674b253b6902c1526885af6d361ca8c6b1400292e649f0e9c95ee0d2e8ec8681

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlparse-0.3.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 40.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for sqlparse-0.3.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 022fb9c87b524d1f7862b3037e541f68597a730a8843245c349fc93e1643dc4e
MD5 70f7ca550f636db5db40a5d26daff378
BLAKE2b-256 85ee6e821932f413a5c4b76be9c5936e313e4fc626b33f16e027866e1d60f588

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