我正在寻找一个可以接受SQL字符串的程序,(我的环境是MySQL,但我可以查看其他RDBMS的类似工具)解析它并以更易读的格式再次呈现它。我见过一些在线的,但我希望有一个我可以集成到一些内部日志工具中。
例如,服用:
SELECT * FROM table JOIN other_table ON table.id = other_table.id WHERE column = 'value' AND column = 'value'
并将其转换为:
SELECT *
FROM table
JOIN other_table
ON table.id = other_table.id
WHERE column = 'value'
AND column = 'value'
我的环境特别是PHP,但我不介意花时间移植代码。
答案 0 :(得分:2)
你可以看看phpmyadmin,看看他们是如何格式化SQL的。它们总是打印出每个执行的查询。
在libraries / common.inc.php中有一个名为PMA_formatSql的函数,这可能是一个很好的起点。
编辑:它不一定会将SQL显示为HTML格式的字符串。根据配置(实现为全局:-(),它会将SQL输出为文本。
答案 1 :(得分:1)
Google有一个javascript代码美化器,它有一个SQL插件:
答案 2 :(得分:0)
我一直在使用SQLYog作为查询工具,它内置了一个“漂亮的”,可以与我尝试的大多数查询一起使用。但是,它不是免费的。
如果要在日志记录中使用它,您可以查找并在特定关键字(如FROM,WHERE,AND)之前插入换行符。