logo SQL Prompt教程 我也要发布文档

SQL语法提示SQL Prompt使用教程:如何格式化SQL代码(上)


SQL Prompt根据数据库的对象名称、语法和代码片段自动进行检索,为用户提供合适的代码选择。具有自动完成您的工作、分享您的代码片段、保存并恢复在SSMS中丢失的标签、安全重构SQL代码等功能。本教程探索和讨论了SQL格式化(由SQL Prompt自动完成)的最新技术,内容较多,分为上下两篇内容,这是第一部分~

点击下载SQL Prompt免费版


SQL忽略空格、制表符和换行符。它甚至忽略大小写,除非您固执地坚持它不应该这样做。因此,与Python不同的是,您可以随意修饰SQL代码,使其更易被其他人理解。它不会改变其运行方式。

这里存在一个问题:尽管SQL格式设置的一般原则已经设定并达成共识,但是在管理细节方面有许多差异。例如,围绕逗号的争论会变得非常激烈。

创建第一个“SQL Beautifiers”时,您只需将代码粘贴进去,它看起来就更漂亮了。这对于在网上发布代码很好,但是SQL开发人员都有自己格式化SQL的方式,因此,对于这些美化工具所缺乏的控制力,他们不是特别满意。

当Redgate创建SQL Prompt时,它引入了多种格式设置选项,使您可以根据自己的喜好微调它的执行方式。格式化SQL代码的方式似乎并没有什么限制,而理解可能的情况的唯一方法是了解每个旋钮和转盘的功能。这是一个很有用的练习,我了解SQL Prompt的格式化相关内容,因此撰写了这篇文章。

有155个可配置选项,被分组到各个部分,我将详细记录所有部分,描述每个部分中的选项以及它们的作用。生成的SQL Prompt格式化的Wallchart可在本文底部的PDF中找到。

基本概念

SQL Prompt使用样式,每种样式由XML文件定义,存储在文件夹中。样式为155种格式选项中的每个定义了一组值,这些格式值决定如何布置SQL代码。每个选项都映射到XML文件中的配置项。幸运的是,除了最勇敢的开发人员之外,Prompt的用户界面使所有其他人都看不到这些东西。您无需再看到XML文件。

当您在SQL Prompt中选择一种样式(“活动样式”)时,它将加载其XML文件,并将其定义用于所有后续格式化操作(Ctrl KCtrl Y)。

每个开发人员可以定义自己的个人样式,还可以加载和使用共享样式。这些样式通常与项目和开发团队相关联,并且随着时间的推移易于更改,因为Prompt会改进选项,而团队会改进他们的样式偏好。因此,它们可以有效地存储在源代码管理中,以便可以看到它随着时间的推移如何发展,以及谁改变了什么。

格式选项

从“SQL Prompt”菜单中,选择“编辑格式样式”,然后可以编辑现有样式,或使用“选择+创建样式...”来创建新样式。给您的样式起一个名字,并指定样式所基于的样式;我喜欢从名为“折叠”的“极简主义”内置Redgate样式开始。

UI列出了所有不同的选项组,您只需单击每个选项组即可为其定义的每个选项设置值。以下是一些控制空白格式的选项。您可以并且应该经常检查更改对适当的“预览”查询的影响。

SQL语法提示SQL Prompt使用教程:如何格式化SQL代码(上)

至于为其中一些配置项目推荐设置的建议,我希望保持谨慎,但本文附带了我自己的XML文件,其中包含我使用的所有设置。

当您决定要选择的值时,最重要的原则是将SQL设计为尽可能接近真实的英语语言。它的意图是写一个句子。 当然,一个长句子将被分解为短语、项目符号列表或诗意的台词。 如果我是在没有SQL Prompt的情况下手动执行此操作,那么如果我正在写的查询长于例如上面指定的80个字符,我将在子句的开头中断行。 在“包装”部分。 我喜欢用足够的空格缩进从句和子查询,以说明问题。 例如,ON短语在JOIN短语之外将不存在,而JOIN短语在其FROM子句之外将不单独存在。 缩进应该是显而易见的。

在确定格式样式时,令人不禁想起格式化是为了强调查询的结构并使其更易于阅读和理解。它不必看起来很漂亮。我真的不喜欢将所有东西都排列在一起的SQL,例如乔治亚风格房屋的外墙。我看不到强制执行垂直列表,大范围的空格和以逗号开头的行的意义,但是我尽力避免被别人认为是因为这样的讨论在数据库开发人员和DBA中引起了不满的声音和面无表情的面孔。

全局

从概念上讲,全局格式设置选项是最需要考虑的选项。它们处理适用于所有格式的一般原则,无论代码的类型或目的如何。

在这里,您可以指定如何处理空格,如何布置列表,如何管理括号以及如何完成关键字,函数和类型大小写的转换。这里的一个小变化可以产生很大的不同。

空格

SQL语法提示SQL Prompt使用教程:如何格式化SQL代码(上)

列出

SQL语法提示SQL Prompt使用教程:如何格式化SQL代码(上)


括号

SQL语法提示SQL Prompt使用教程:如何格式化SQL代码(上)

套管

SQL语法提示SQL Prompt使用教程:如何格式化SQL代码(上)

本教程内容尚未完结,请点击下方链接查看后面剩余内容!您也可以下载SQL Prompt试用版尝试一下~

相关内容推荐:

SQL语法提示SQL Prompt使用教程:如何格式化SQL代码(下)

下载 SQL Prompt Formatting Wallchart


想要购买SQL Prompt正版授权,或了解更多产品信息请点击“咨询在线客服”

04-850x68.png