You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
>>>importsqlparse>>># 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*FROMfoo;
>>># Parsing a SQL statement:>>>parsed=sqlparse.parse('select * from foo')[0]
>>>parsed.tokens
[<DML'select'at0x7f22c5e15368>, <Whitespace' 'at0x7f22c5e153b0>, <Wildcard'*' … ]
>>>
Pre-commit Hook
sqlparse can be used as a pre-commit hook
to automatically format SQL files before committing:
repos:
- repo: https://github.com/andialbrecht/sqlparserev: 0.5.4 # Use the latest versionhooks:
- id: sqlformat# Optional: Add more formatting options# IMPORTANT: --in-place is required, already included by defaultargs: [--in-place, --reindent, --keywords, upper]
Then install the hook:
$ pre-commit install
Your SQL files will now be automatically formatted on each commit.
Note: The hook uses --in-place --reindent by default. If you override
the args, you must include --in-place for the hook to work.