A non-validating SQL parser module for Python (LADI project)
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Andreas Albrecht 0d6684baba Update version number for release. 4 years ago
docs add comma_first option for docs 4 years ago
examples Refactored extract column defs example (fixes #439, #411, #526). 4 years ago
sqlparse Update version number for release. 4 years ago
tests [grouping] group_as() no longer groups AS CTE 4 years ago
.editorconfig Update editorconfig 7 years ago
.gitignore Add pytest_cache to gitignore. 5 years ago
.travis.yml CI: Remove obsolete comment. 4 years ago
AUTHORS Update changelog and authors. 4 years ago
CHANGELOG Update version number for release. 4 years ago
LICENSE Add or Update copyright year to files 8 years ago
MANIFEST.in Update manifest files 7 years ago
Makefile Switch to twine, it's the modern world. 5 years ago
README.rst Update README. 4 years ago
TODO Remove useless items from TODO. 8 years ago
setup.cfg Include license file in the generated wheel package 6 years ago
setup.py Add Python 3.8 to list of classifiers. 4 years ago
tox.ini Add Python 3.8-dev to Travis setup. 5 years ago


python-sqlparse - Parse SQL statements


.. docincludebegin

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

The module is compatible with Python 2.7 and Python 3 (>= 3.4)
and released under the terms of the `New BSD license

.. note::

   Support for Python<3.4 (including 2.x) will be dropped soon.

Visit the project page at https://github.com/andialbrecht/sqlparse for
further information about this project.

Quick Start

.. code-block:: sh

   $ pip install sqlparse

.. code-block:: python

   >>> import sqlparse

   >>> # Split a string containing two SQL statements:
   >>> raw = 'select * from foo; select * from bar;'
   >>> statements = sqlparse.split(raw)
   >>> statements
   ['select * from foo;', 'select * from bar;']

   >>> # Format the first statement and print it out:
   >>> first = statements[0]
   >>> print(sqlparse.format(first, reindent=True, keyword_case='upper'))
   FROM foo;

   >>> # Parsing a SQL statement:
   >>> parsed = sqlparse.parse('select * from foo')[0]
   >>> parsed.tokens
   [<DML 'select' at 0x7f22c5e15368>, <Whitespace ' ' at 0x7f22c5e153b0>, <Wildcard '*' … ]


Project page

Bug tracker


Online Demo

sqlparse is licensed under the BSD license.

Parts of the code are based on pygments written by Georg Brandl and others.
pygments-Homepage: http://pygments.org/

.. |buildstatus| image:: https://secure.travis-ci.org/andialbrecht/sqlparse.png?branch=master
.. _buildstatus: https://travis-ci.org/#!/andialbrecht/sqlparse
.. |coverage| image:: https://coveralls.io/repos/andialbrecht/sqlparse/badge.svg?branch=master&service=github
.. _coverage: https://coveralls.io/github/andialbrecht/sqlparse?branch=master