【问题标题】:Algorithm for neatly indenting SQL statements (Python implementation would be nice)巧妙缩进 SQL 语句的算法(Python 实现会很好)
【发布时间】:2009-04-28 14:14:24
【问题描述】:

我想将一些带有换行符的单个字符串的 SQL 语句重新格式化为更易于阅读的内容。

我个人不知道缩进 SQL 的良好编码风格 - 嵌套查询/where 子句/左连接/等应该如何表示以最大限度地提高可读性?

有没有人见过可以做到这一点的漂亮打印算法?在 Python 中会更好。

【问题讨论】:

    标签: python sql coding-style indentation pretty-print


    【解决方案1】:

    你可以试试sqlparse。它是一个提供简单 SQL 格式的 Python 模块。在线演示可用here

    【讨论】:

    • 我刚刚注意到这是你的应用程序。
    • @nemo:尽力隐藏自己,但Web2.0总是在任何地方显示相同的图片;-)
    • 如何在网络应用中离线使用?它没有在 web docs / git 中描述,谢谢
    • 在 Google 代码中找不到了。 GitHub 上的新源 URL:github.com/andialbrecht/sqlparse,现在可以在以下位置找到演示:sqlformat.org
    【解决方案2】:

    我个人使用SQL Inform进行快速SQL格式化,它是用Java编写的,可惜不是开源的,所以无法访问底层算法。

    【讨论】:

      【解决方案3】:

      也许找到一个工具的部分困难在于有太多不同的“标准”SQL 格式化约定。以下是描述人们偏好的两个 SO 问题:

      【讨论】:

        【解决方案4】:

        我之前使用过 Devart 的 SQL Complete 来格式化 SQL,但现在有一个由 SQL Complete 提供支持的免费在线 SQL 美化器 - SQL Formatter 它功能非常丰富,即使对于初学者来说也很容易使用。

        【讨论】:

          【解决方案5】:

          不知道它是否回答了你的问题,但我通常使用这种策略

          SELECT what1, what2, etc,
          FROM table
          WHERE condition
            AND condition
            AND condition
          ORDER BY whatever
          

          但这只是我。我认为不存在合适的自动工具。

          【讨论】:

            猜你喜欢
            • 2013-08-16
            • 2018-10-23
            • 2010-09-13
            • 1970-01-01
            • 2012-04-24
            • 2021-03-05
            • 1970-01-01
            • 1970-01-01
            • 2010-09-23
            相关资源
            最近更新 更多