整齐缩进SQL语句的算法(Python实现会很好)

时间:2009-04-28 14:14:25

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

我想重新格式化一些单个字符串的SQL语句,并将换行更容易阅读。

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

有没有人看过一个漂亮的打印算法呢?在Python中会更好。

5 个答案:

答案 0 :(得分:39)

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

答案 1 :(得分:3)

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

答案 2 :(得分:3)

查找工具的一个难点可能是有许多不同的“标准”SQL格式约定。以下是两个描述人们偏好的SO问题:

答案 3 :(得分:2)

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

答案 4 :(得分:-3)

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

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

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