Skip to content

A non-validating SQL parser module for Python

License

Notifications You must be signed in to change notification settings

ActiveState/sqlparse

This branch is 30 commits behind andialbrecht/sqlparse:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5a24e36 · Apr 22, 2024
Mar 16, 2024
Mar 5, 2024
Oct 7, 2020
Apr 13, 2024
Apr 13, 2024
Mar 16, 2024
Mar 16, 2024
Mar 15, 2024
Apr 13, 2024
Apr 22, 2024
Aug 6, 2023
Jun 4, 2016
Aug 6, 2023
Mar 15, 2024
Aug 6, 2023
Oct 26, 2015
Apr 16, 2024

Repository files navigation

python-sqlparse - Parse SQL statements

buildstatus coverage docs packageversion

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 3.8+ and released under the terms of the New BSD license.

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

Quick Start

$ pip install sqlparse
>>> 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'))
SELECT *
FROM foo;

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

Links

Project page
https://github.com/andialbrecht/sqlparse
Bug tracker
https://github.com/andialbrecht/sqlparse/issues
Documentation
https://sqlparse.readthedocs.io/
Online Demo
https://sqlformat.org/

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/

About

A non-validating SQL parser module for Python

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.2%
  • PLpgSQL 1.6%
  • Makefile 0.2%