首页 > 代码库 > SQL Pretty Printer-不错的SQL格式化工具

SQL Pretty Printer-不错的SQL格式化工具

前言

  好长时间没有写过博客了,人变懒了很多,应该说本来也不怎么勤快。但今天为了这个工具,必须得勤快一下了,天下真的没有免费的午餐。

  之前使用过sql server 2000的查询设计器和Toad for oracle 都有格式化Sql语句的功能,感觉很方便,尤其对于我这种有着轻微强迫症的人来说。当最近把SQL Server Management Studio(SSMS)升级到2008 R2版本时,没有格式化的功能,之前的2005和2008也都没有,咱就不知道微软是咋想的了。所以就想找一个在SSMS中能格式化代码的插件,搜来搜去就搜到了很多人推荐的SQL Pretty Printer神器,然后过来下载测试了,使用结果挺满意地,下面就说说SQL Pretty Printer Add-In for SSMS的使用吧。

内容

  1、首先下载安装程序,下载地址在这里,下载完成之后直接安装就可以了,没有什么要说的。

  2、安装完成之后重新打开SSMS,就会看到如下图:

  

  3、Format Selected SQL

    这个功能主要是格式化当前窗口中选择的SQL语句,只有先选择要格式化的SQL语句才能使用该功能。

  4、Fromat All SQL

    这个功能主要是格式化当前窗口中所有的SQL语句。

  5、效果:

    格式化之前

    

    格式化之后

    

  6、Rename Table 和 Rename Column

    这两个功能是3.2.0新增加的,主要用于在复杂的SQL语句(包括嵌套子查询、连接、函数调用的参数,存储过程中的参数),重命名表名和列名。下面看一个示例大概就明白啥意思了,我的理解就是类似于使用正则表达式匹配,然后替换其中的表名和列名。

    使用下面的SQL语句做测试:    

SELECT person.firstname,       Orders.NAMEFROM   person       LEFT JOIN Orders              ON person.P_Id = Orders.P_IdORDER  BY person.firstname

    

    

    替换之后的SQL语句,表名没有变,只有列名变化,这个功能倒是挺有用的,遇到要修改不同表的相同的列名情况下,挺适合的。

    

   7、To C#(To VB.NET)

    将SQL语句转换成C#语言中的输出语句。还是使用上面的SQL语句,在SSMS中选中要转换的SQL语句,然后选择To C#,将会看到如下转换后的C#代码,生成一个SQL语句的字符串,可以减少在代码中写拼SQL语句的麻烦:

StringBuilder  varname1 = new StringBuilder();varname1.Append("SELECT Persons.firstName, \n");varname1.Append("       Orders.NAME \n");varname1.Append("FROM   Persons \n");varname1.Append("       LEFT JOIN Orders \n");varname1.Append("              ON Persons.P_Id = Orders.P_Id \n");varname1.Append("ORDER  BY Persons.firstName ");

   8、C# To SQL (VB.NET To SQL)

    将C#代码翻译成SQL语句,C#代码好像只要满足varname1.Append("SQL语句");就能转换成对应的SQL语句了,在他们网站上找半天没有找到相关说明的文档,测试的话已经限制使用了,好苦逼啊

   9、SQL Formatter Options

    这个就是格式化的选项了,打开如下图所示,具体的功能就不介绍了,我也没有仔细看,用默认设置应该就够用了。

    

   此文纯属个人对这个软件的一些理解,有啥不正确的地方,还请斧正!

参考

SQL格式化工具-SQL Pretty Printer

SQL REFACTOR: RENAME COLUMN AND TABLE

SQL Pretty Printer format SQL on the fly | Gudu Software