MySQL查询语句的校验方法、装置、设备及存储介质与流程

文档序号:33937843发布日期:2023-04-22 16:32阅读:95来源:国知局
MySQL查询语句的校验方法、装置、设备及存储介质与流程

本发明实施例涉及mysql数据库应用,尤其涉及一种mysql查询语句的校验方法、装置、设备及存储介质。


背景技术:

1、mysql是一个关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,增加了速度并提高了灵活性。

2、当前,针对mysql中数据的校验方法,多为基于生成的数据开发脚本进行的后置校验方法,例如:零值校验及交叉校验等。后置校验发生在数据投入生产之后,故而,问题数据在被后置校验发现之前会导致运行隐患。

3、并且,现有的后置校验方法校验结果的准确度低。


技术实现思路

1、本发明实施例提供一种mysql查询语句的校验方法、装置、设备及存储介质,以解决问题数据在被后置校验发现之前会导致运行隐患,以及现有的后置校验方法校验结果的准确度低的问题。

2、为了解决上述技术问题,本发明是这样实现的:

3、第一方面,本发明实施例提供了一种mysql查询语句的校验方法,包括:

4、获取待校验的mysql查询语句,根据所述mysql查询语句生成语法树,所述语法树表征按照语法划分的所述mysql查询语句中各层查询语句之间的嵌套关系;

5、解析所述语法树,得到所述mysql查询语句的子查询语句信息;

6、对所述子查询语句是否异常进行校验,得到校验结果。

7、可选地,

8、对子查询语句是否异常进行校验,得到校验结果,包括:

9、构造以所述子查询语句为节点的资源树;

10、校验所述资源树上的每个所述子查询语句是否异常,得到所述校验结果。

11、可选地,

12、校验所述资源树上的每个所述子查询语句是否异常,包括:

13、校验所述子查询语句的特殊筛选项是否异常,得到第一子校验结果;并且,校验所述子查询语句的关联项是否异常,得到第二子校验结果;

14、整合所述第一子校验结果以及所述第二子校验结果,得到所述校验结果。

15、可选地,

16、校验所述子查询语句的特殊筛选项是否异常,包括:

17、确定所述mysql查询语句所要查询的mysql数据库,并获取所述mysql数据库的数据表;

18、根据所述数据表是否配置有特殊筛选条件,确定所述第一子校验结果;

19、若所述数据表配置有所述特殊筛选条件,并且所述子查询语句中不包括所述特殊筛选条件,确定所述第一子校验结果为所述子查询语句的特殊筛选项异常。

20、可选地,

21、所述子查询语句信息包括所述子查询语句的关联条件;

22、校验所述子查询语句的关联项是否异常,包括:

23、根据所述关联条件是否为所述子查询语句的唯一键与基础查询语句的唯一键的交集,确定所述第二子校验结果;所述基础查询语句为所述子查询语句在所述资源树中的子一级基础查询语句;

24、若所述关联条件不为所述子查询语句的唯一键与所述基础查询的唯一键的交集,确定所述第二子校验结果为所述子查询语句的关联项异常。

25、可选地,

26、采用遍历的方式校验所述资源树上的每个所述子查询语句是否异常。

27、第二方面,本发明实施例提供了一种mysql查询语句的校验装置,包括:

28、获取模块,用于获取待校验的mysql查询语句,根据所述mysql查询语句生成语法树,所述语法树表征依照语法划分的所述mysql查询语句中各层查询语句之间的嵌套关系;

29、解析模块,用于解析所述语法树,得到所述mysql查询语句的子查询语句信息;

30、校验模块,用于对所述子查询语句是否异常进行校验,得到校验结果。

31、可选地,

32、所述校验模块,还用于构造以所述子查询语句为节点的资源树;

33、所述校验模块,还用于校验所述资源树上的每个所述子查询语句是否异常,得到所述校验结果。

34、第三方面,本发明实施例提供了一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面中任一项所述的mysql查询语句的校验方法中的步骤。

35、第四方面,本发明实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面中任一项所述的mysql查询语句的校验方法中的步骤。

36、在本发明实施例中,通过mysql查询语句进行校验,实现了在mysql中数据投入生产之前的前置校验,由于问题数据在被校验之前不会投入生产,故而规避了问题数据导致运行隐患的风险;并且,通过获取待校验的mysql查询语句,根据mysql查询语句生成语法树;解析语法树,得到mysql查询语句的子查询语句信息,能够准确获取到子查询语句信息;进一步,准确获取到的子查询语句进行校验,确保校验结果具备高准确度。



技术特征:

1.一种mysql查询语句的校验方法,其特征在于,包括:

2.根据权利要求1所述的mysql查询语句的校验方法,其特征在于:

3.根据权利要求2所述的mysql查询语句的校验方法,其特征在于:

4.根据权利要求3所述的mysql查询语句的校验方法,其特征在于:

5.根据权利要求3所述的mysql查询语句的校验方法,其特征在于:

6.根据权利要求2所述的mysql查询语句的校验方法,其特征在于:

7.一种mysql查询语句的校验装置,其特征在于,包括:

8.根据权利要求7所述的mysql查询语句的校验装置,其特征在于:

9.一种电子设备,其特征在于:包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至6中任一项所述的mysql查询语句的校验方法中的步骤。

10.一种可读存储介质,其特征在于:所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至6中任一项所述的mysql查询语句的校验方法中的步骤。


技术总结
本发明提供一种MySQL查询语句的校验方法、装置、设备及存储介质,其中,方法包括:获取待校验的MySQL查询语句,根据所述MySQL查询语句生成语法树,所述语法树表征按照语法划分的所述MySQL查询语句中各层查询语句之间的嵌套关系;解析所述语法树,得到所述MySQL查询语句的子查询语句信息;对所述子查询语句是否异常进行校验,得到校验结果。本发明通过MySQL查询语句进行校验,实现了在MySQL中数据投入生产之前的前置校验,规避了问题数据导致运行隐患的风险;并且校验结果具备高准确度。

技术研发人员:曹宗凯
受保护的技术使用者:云账户技术(天津)有限公司
技术研发日:
技术公布日:2024/1/11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1