如何在 DBeaver 中漂亮地格式化我的 SQL 查询?

Posted

技术标签:

【中文标题】如何在 DBeaver 中漂亮地格式化我的 SQL 查询?【英文标题】:How do I pretty format my SQL query in DBeaver? 【发布时间】:2018-03-07 20:09:34 【问题描述】:

我使用 DBeaver 作为我的主要 IDE 来查询多个数据库。当我查询一个表时,它会自动生成一个长选择语句,其中所有列都在一行中。

当我进行更复杂的查询时,使用和阅读会变得非常麻烦。我想在单独的行而不是一个长字符串上查看选择值。

是否有一种简单的方法(可能使用 Notepad++ 或 Sublime Text)来分解查询(逗号后有换行符)?

例如,

select name, address, city, state, country, zip_code, birthday, membership_type 
from customers

select
name,
address,
city,
state,
country,
zip_code,
birthday,
membership_type
from customers

【问题讨论】:

谷歌“sql tidy”,你会发现很多结果都是你想要的。试试sql-format.com 另见***.com/q/7871054/1015495 【参考方案1】:

是的,有。我使用 Notepad++,因为它是免费的,我用它来做任何事情!无论如何,Notepad++ 有一个名为:Poor Man's T-SQL Formatter 的插件。它只需单击一个按钮即可工作。您还可以获得一些自定义选项,例如是否要自动将表名大写等。

【讨论】:

【参考方案2】:

在 SublimeText 中我假设你已经安装了Package Control?如果不尽快这样做,它是一个重要的工具。

在 Package Control 中,有许多选项可以做您想做的事情。 Here are some options

我会从SqlBeautifier 开始,然后尝试其他人找到最适合您口味的。

【讨论】:

【参考方案3】:

Notepad++ 中还有另一个用于格式化 SQL 的插件。可在此处找到:SQLinForm SQL Formatter,并具有 100 多种格式选项,包括代码折叠和颜色格式。还有一个免费插件可用。

【讨论】:

链接是404。【参考方案4】:

使用反引号`代替引号"或'

【讨论】:

你在回答什么问题? 在我的崇高中,如果我有一个很长的查询语句并且我想打破它,我会使用反引号。例如: var sql="select table1_id, table1_name from table1 where table1_id=? and table1_status=1" ;它只需要一行,但使用 backtic ` 为了方便起见,我可以将其分成多行。【参考方案5】:

DBeaver 有一个用于此目的的快捷方式。在 SQL 编辑器中:

【讨论】:

要在此处添加以防其他人为此苦苦挣扎,我注意到如果多个 sql 语句后面没有分号,则它们的格式无法按预期工作。添加分号后,效果很好,从版本:6.1.2.201907061627 最佳答案,因为它没有使用除 DBeaver 之外的任何其他工具【参考方案6】:

选择要格式化的查询,Ctrl+shift+F 完成工作。 我正在使用 DBeaver 6.3.0

【讨论】:

以上是关于如何在 DBeaver 中漂亮地格式化我的 SQL 查询?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ruby on Rails 中“漂亮”地格式化 JSON 输出

如何漂亮地打印 Golang 结构? [复制]

如何在 DBeaver 中执行 SQL 脚本?

如何让 dbeaver 突出显示 sql 错误以便于开发过程

DBeaver,如何声明变量并使用它们?

如何使用 Go 漂亮地打印 JSON?