Previous topicNext topic
Help > 使用指南 > 视图可视化编辑 >
视图可视化优点

我们都知道,编写SQL语句基本上是每个与数据打交道的程序员必会的技能。而复杂SQL语句的编写与维护一直是让人头疼的问题。
那编写复杂SQL语句具体有哪些痛点呢:
1、SQL语句越复杂,越难维护。虽然我们可以使用一些插件实现SQL语句的格式化,但是格式化后的SQL维护起来同样也没有那么轻松。(打开浏览器演示一下)
2、如果想要修改表结构,我们不知道指定表指定字段是否有被使用过,被哪些视图使用过。就无法修改。
3、复杂的代码交接给其他人维护很困难。
4、迁移数据库困难。有的项目遇到逼不得已的情况需要迁移数据库的话,工作量大的惊人,容易遗漏,迁移失败的可能性很高。

今天我们就重点介绍一下,通过可视化工具来编写与维护我们项目中用到的SQL语句,可以给我们带来哪些无法拒绝的好处。
1、支持MySql、SQLite、PostgreSQL、Oracle、Access、SQLServer等多种数据库。
2、支持可视化编辑。之前我们已经做过一期视频,介绍了如何通过可视化工具实现零基础软件轻松学习SQL。
3、结构清晰,可维护性高。我们可以很明显地看出哪个字段来自哪个表或者哪个子SQL。我们不用再面对一团乱麻的SQL语句(即使格式化再好的SQL语句,如果多几个子SQL,复杂一点我们看着都会费劲)。结构清晰意味着后期修改,或者交接给其他人维护都没有太大的负担。
4、支持子SQL语句。支持无限嵌套子SQL语句。
5、支持参数。可视化SQL编辑支持在SQL中添加参数。这样可以在某些场合尽量避免使用存储过程。
6、支持SQL语句的重复利用。有的时候,我们写的一个SQL语句可能需要在多个地方使用,如果SQL语句里面没有参数的话,我们正常可以通过数据库视图来解决这种重复利用的问题,可是针对一些有参数SQL,用我们的这个可视化SQL编辑工具就很方便。
7、可追溯性强。如果一个项目全部用我们这个工具进行SQL语句的维护的话,我们在需要修改某个表的字段时,可以很轻易地了解到,我这个字段有没有被使用过,被使用了几次,在哪几个系统视图里面使用了。这是因为我们的参数信息都保存在了数据库里面,通过下面一句话,我们就可以了解到我们想要了解的信息。
select a.ConnName,a.SQLID,a.ViewName,b.TableName,b.JoinType,b.TableType,c.FIndex,c.ColExpress,c.ColExpressType,c.ColAlias,c.FromTableID  from SysSQLMain a left JOIN SysSQLFrom b on a.SQLID=b.SQLID Left Join SysSQLSelect c On a.SQLID=c.SQLID and c.FromTableID=b.SQLTableID WHERE b.TableType is NOT NULL and (a.SQLID='eee540f689f34135b4c014a2fb1ed597
' or a.ViewName='内部电费报表')

select a.ConnName,a.SQLID,a.ViewName,b.TableName,b.JoinType,b.TableType,c.FIndex,c.ColExpress,c.ColExpressType,c.ColAlias,c.FromTableID  from SysSQLMain a left JOIN SysSQLFrom b on a.SQLID=b.SQLID Left Join SysSQLSelect c On a.SQLID=c.SQLID and c.FromTableID=b.SQLTableID WHERE b.TableType is NOT NULL and b.TableName='UserUsedElectricityInfo' and c.ColExpress='ID' and b.TableType='Table'

8、迁移数据库方便。我们开发好一个项目使用一段时间之后,可能因为各种原因需要换另外一种数据库。而转移数据库最大的阻碍就是针对一些
select a.ConnName,a.SQLID,a.ViewName,b.TableName,b.JoinType,b.TableType,c.FIndex,c.ColExpress,c.ColExpressType,c.ColAlias,c.FromTableID  from SysSQLMain a left JOIN SysSQLFrom b on a.SQLID=b.SQLID Left Join SysSQLSelect c On a.SQLID=c.SQLID and c.FromTableID=b.SQLTableID WHERE b.TableType is NOT NULL and c.ColExpressType='2'
9、可以自动生成数据库视图。针对那些没有参数的系统视图,我们可以通过一个命令按钮即可完成与数据库视图的同步。
10、最终SQL保存在数据库中,可以被多平台使用。