22

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

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

有没有人见过一个漂亮的打印算法已经这样做了?在 Python 中会更好。

4

5 回答 5

40

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

于 2009-04-28T14:59:12.973 回答
3

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

于 2009-04-28T14:25:56.157 回答
3

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

于 2009-04-28T14:35:22.110 回答
2

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

于 2013-05-15T14:20:42.450 回答
-3

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

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

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

于 2009-04-28T14:49:05.680 回答