很好地格式化您的sql查询以便于阅读。

pygments-pprint-sql的Python项目详细描述


将此pygments插件与常用的sql lexer和任何输出一起使用 格式化程序重新格式化SQL查询以提高可读性。

此筛选器修改pygments生成的令牌流 在关键点插入空白以使查询的结构 更明显。

用法

对于编程用法,请在突出显示之前将筛选器添加到lexer中:

from pygments import highlight, lexers, formatters
from pygments_pprint_sql import SqlFilter

lexer = lexers.MySqlLexer()
lexer.add_filter(SqlFilter())
print highlight(text, lexer, formatters.TerminalFormatter())

此插件还通过-f选项与pygmentize cli工具兼容:

pygmentize -F pprint-sql script.sql

注释

像create和alter这样的ddl语句没有格式化,因为格式化 它们确实是一项重大的事业,尤其是对所有口味 关于SQL。

我已经用一个应用程序的查询完成了测试 使用MySQL。一般来说,它应该很好地传输到其他rdbms,但是我 不能保证。

补丁程序总是受欢迎的,只要它们带有测试用例!

备选方案

  • SQLParse is a standalone parser and formatter package with some nice options for customizing how formatting occurs.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么javaassist仅在项目中使用lambda时加载Entitymanager时抛出无效的常量类型:18   java如何识别用户是否在Alexa中首次启动技能?   java maven:如何防止插件更新   java StringBuilder将null追加为“null”   在java中,我可以在画布上绘制画布吗?   java如何在JRadioButton上垂直对齐文本和图像?   java“类是对象的集合”。这个定义是对的还是错的?   java如何用其他字符替换字符串中的1个或多个字符?   Java的HashSet<Double>及其子集的hashcode的唯一性   对象ArrayList的java并发修改错误   多线程Java线程:让EDT函数等待长时间运行的函数离开EDT   java如何重写方法,将一个实例变量和一个局部变量相加,从而生成一个数据类型为Double的新变量?