很好地格式化您的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 JTable无法向新创建的列添加值   java如何调整JEditorPane中编辑区域的大小?   Java通过反射确定未知数组中的数组大小   java Intellij Idea有时无法按其预期的方式构建应用程序   java Swing GUI带有IntelliJ错误“contentPane不能设置为null”从终端编译时   如何将这些通用方法调用从C#转换为Java   在null上找不到java属性或字段“index”   从Java HashMap获取整数值时是否需要调用intValue()方法?   java Android谷歌地图获取相机中的图像块   unix无法捕获JAVA中“who m”命令的输出   java,同时将邮件发送到“收件人”标题“我”中的多个收件人   在java中向链表添加未知数量的节点   无法为Heroku上的discord bot设置java端口   java使用Apache HttpClient进行选项请求   与元素类型“ApplicationName”关联的属性“Application Version”需要java Open quote   Android Studio Java中的两个变量求和