SQL语句审核方法及装置、存储介质及电子设备制造方法及图纸

技术编号:28419799 阅读:12 留言:0更新日期:2021-05-11 18:26
本申请提供了一种SQL语句审核方法及装置、存储介质及电子设备,该方法包括:获取SQL语句集合;判断每条SQL语句的语法是否正确;若所有的SQL语句的语法均正确,则按预设的审核规则,对每条SQL语句进行审核;若所有的SQL语句均满足审核规则,则确定SQL语句集合通过审核。本申请提供的技术方案,自动对SQL语句集合中的每一条SQL语句的语法进行审核,并在所有的SQL语句的语法正确的情况下,基于审核规则对SQL语句进行审核,整个过程无需任何人工干预,从而节省了大量的时间成本和人力成本,以及极大的提升了SQL语句审核的效率。

【技术实现步骤摘要】
SQL语句审核方法及装置、存储介质及电子设备
本申请涉及数据库
,尤其涉及一种SQL语句审核方法及装置、存储介质及电子设备。
技术介绍
随着企业的业务量增多,相应的,企业的应用系统的数据库数量也随之增加,数据库中的数据每天都需要进行查询、更新或其他操作,而通常情况下,利用结构化查询语言SQL来实现这些操作。在利用SQL语句对数据库进行操作的过程中,如果SQL语句不规范,会导致数据库操作错误,进而导致数据库的整体性能降低。因此,需要对进入数据库执行的SQL语句进行审核。现有技术中,由人工对SQL语句进行审核,在SQL语句数据量较大的情况下,需要消耗大量的时间成本和人力成本,效率较低。申请内容本申请所要解决的技术问题是提供一种SQL语句审核方法及装置、存储介质及电子设备,目的在于解决需要消耗大量的时间成本和人力成本,以及效率较低的问题。为了实现上述目的,本申请提供了以下技术方案:一种SQL语句审核方法,包括:获取SQL语句集合;所述SQL语句集合中包括至少一条SQL语句;判断每条SQL语句的语法是否正确;若所有的SQL语句的语法均正确,则按预设的审核规则,对每条SQL语句进行审核;若所有的SQL语句均满足所述审核规则,则确定所述SQL语句集合通过审核。上述的方法,可选的,所述获取SQL语句集合,包括:获取SQL文件;所述SQL文件中至少包括SQL文本和所述SQL文本对应的数据库标识;对所述SQL文本进行SQL语句划分,得到多条SQL语句;将所有的SQL语句组成SQL语句集合。上述的方法,可选的,所述判断每条SQL语句的语法是否正确,包括:针对每条SQL语句,对所述SQL语句进行抽象语法树的构建;判断所述SQL语句对应的抽象语法树是否被成功构建;若所述SQL语句对应的抽象语法树被成功构建,则确定所述SQL语句的语法正确。上述的方法,可选的,所述按预设的审核规则,对每条SQL语句进行审核,包括:针对每条SQL语句,遍历所述SQL语句对应的抽象语法树,获取所述抽象语法树中每个节点的节点信息,基于各个节点信息,获取所述SQL语句对应的各个数据库对象;针对每条SQL语句,判断所述SQL语句对应的每一个数据库对象是否满足预设的审核规则,若任意一个数据库对象不满足所述审核规则,则判断出所述SQL语句不满足所述审核规则,若所述SQL语句对应的每一个数据库对象均满足所述审核规则,则确定所述SQL语句满足所述审核规则。上述的方法,可选的,所述判断所述SQL语句对应的每一个数据库对象是否满足预设的审核规则,包括:基于目标数据库,对所述SQL语句对应的每个数据库对象的存在性和约束性进行审核;所述目标数据库为所述SQL文件中包含的数据库标识所对应的数据库;当所有的数据库对象均满足存在性和约束性的审核时,判断每个所述数据库对象的命名规则是否满足预设的自定义规则;若所有的数据库对应均满足所述自定义规则,则基于所述SQL语句对应的所有数据库对象,统计所述SQL语句的性能指标值;当所述SQL语句的性能指标值小于预设性能阈值时,确定所述SQL语句对应的每一个数据库对象满足预设的审核规则。上述的方法,可选的,还包括:若任意一个SQL语句的语法不正确或任意一条SQL语句不满足所述审核规则,则确定所述SQL语句集合未通过审核上述的方法,可选的,所述判断出所述SQL语句集合通过审核之后,还包括:生成审核报告信息,并存储所述审核报告信息;将所述审核报告信息进行可视化展示。一种SQL语句审核装置,包括:获取单元,用于获取SQL语句集合;所述SQL语句集合中包括至少一条SQL语句;判断单元,用于判断每条SQL语句的语法是否正确;审核单元,用于若所有的SQL语句的语法均正确,则按预设的审核规则,对每条SQL语句进行审核;确定单元,用于若所有的SQL语句均满足所述审核规则,则确定所述SQL语句集合通过审核。一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的SQL语句审核方法。一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的SQL语句审核方法。与现有技术相比,本申请包括以下优点:本申请提供了一种SQL语句审核方法及装置、存储介质及电子设备,包括:获取SQL语句集合;判断每条SQL语句的语法是否正确;若所有的SQL语句的语法均正确,则按预设的审核规则,对每条SQL语句进行审核;若所有的SQL语句均满足审核规则,则确定SQL语句集合通过审核。本申请提供的技术方案,自动对SQL语句集合中的每一条SQL语句的语法进行审核,并在所有的SQL语句的语法正确的情况下,基于审核规则对SQL语句进行审核,整个过程无需任何人工干预,从而节省了大量的时间成本和人力成本,以及极大的提升了SQL语句审核的效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请提供的一种SQL语句审核方法的方法流程图;图2为本申请提供的一种SQL语句审核方法的又一方法流程图;图3为本申请提供的一种SQL语句审核方法的再一方法流程图;图4为本申请提供的一种SQL语句审核方法的另一方法流程图;图5为本申请提供的一种SQL语句审核装置的结构示意图;图6为本申请提供的一种电子设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请实施例提供了一种SQL语句审核方法,该方法可以应用在基于云平台的SQL质量审核装置,该系统可以通过插件的方式适配不同的文本编辑器,该方法的方法流程图如图1所示,具体包括:S101、获取SQL语句集合。用户根据需求在文本编辑器上编辑SQL语句,将所编辑的SQL语句保存为SQL文本,并将SQL文本保存在SQL文件中上传至SQL质量审核装置。SQL质量审核装置接收SQL文件,并基于SQL文件,获取SQL语句集合,其中,SQL语句集合中包括至少一条SQL语句。参阅图2,获取SQL语句集合的过程,具体包括:S201、获取SQL文件。获取用户上传的SQL文件,SQL文件中至少包括SQL文本和数据库标识,本文档来自技高网...

【技术保护点】
1.一种SQL语句审核方法,其特征在于,包括:/n获取SQL语句集合;所述SQL语句集合中包括至少一条SQL语句;/n判断每条SQL语句的语法是否正确;/n若所有的SQL语句的语法均正确,则按预设的审核规则,对每条SQL语句进行审核;/n若所有的SQL语句均满足所述审核规则,则确定所述SQL语句集合通过审核。/n

【技术特征摘要】
1.一种SQL语句审核方法,其特征在于,包括:
获取SQL语句集合;所述SQL语句集合中包括至少一条SQL语句;
判断每条SQL语句的语法是否正确;
若所有的SQL语句的语法均正确,则按预设的审核规则,对每条SQL语句进行审核;
若所有的SQL语句均满足所述审核规则,则确定所述SQL语句集合通过审核。


2.根据权利要求1所述的方法,其特征在于,所述获取SQL语句集合,包括:
获取SQL文件;所述SQL文件中至少包括SQL文本和所述SQL文本对应的数据库标识;
对所述SQL文本进行SQL语句划分,得到多条SQL语句;
将所有的SQL语句组成SQL语句集合。


3.根据权利要求2所述的方法,其特征在于,所述判断每条SQL语句的语法是否正确,包括:
针对每条SQL语句,对所述SQL语句进行抽象语法树的构建;判断所述SQL语句对应的抽象语法树是否被成功构建;若所述SQL语句对应的抽象语法树被成功构建,则确定所述SQL语句的语法正确。


4.根据权利要求3所述的方法,其特征在于,所述按预设的审核规则,对每条SQL语句进行审核,包括:
针对每条SQL语句,遍历所述SQL语句对应的抽象语法树,获取所述抽象语法树中每个节点的节点信息,基于各个节点信息,获取所述SQL语句对应的各个数据库对象;
针对每条SQL语句,判断所述SQL语句对应的每一个数据库对象是否满足预设的审核规则,若任意一个数据库对象不满足所述审核规则,则确定所述SQL语句不满足所述审核规则,若所述SQL语句对应的每一个数据库对象均满足所述审核规则,则确定所述SQL语句满足所述审核规则。


5.根据权利要求4所述的方法,其特征在于,所述判断所述SQL语句对应的每一个数据库对象是否满足预设的审核规则,包括:
基于目标数据库,对所述SQL语句对应的每个...

【专利技术属性】
技术研发人员:张文龙何小栋
申请(专利权)人:广州海量数据库技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1