sql语句自动生成工具的数据库函数离线读取方法及系统技术方案

技术编号:18658076 阅读:32 留言:0更新日期:2018-08-11 14:27
本发明专利技术提供一种sql语句自动生成工具的数据库函数离线读取方法,包括从数据库获取要查询的表的表结构信息及所有支持的内置函数的函数信息,且将表结构信息保存成第一文本文件,将函数信息保存成第二文本文件;修改第一文本文件和第二文本文件的格式;读取第一文本文件和第二文本文件,并按照规定的格式进行保存;对保存的第一文本文件与第二文本文件进行数据类型匹配,并利用随机算法自动生成sql查询语句,且输出sql查询语句,生成可执行文件。本发明专利技术优点:可实现在脱离数据库的情况下能够使用sql查询语句自动生成工具进行sql查询语句的生成;同时统一了sql查询语句自动生成工具的输入和输出,可适用于大部分数据库,兼容性强。

Database function offline reading method and system for automatic generation tool of SQL statement

The invention provides an offline reading method for database functions of an automatic SQL statement generation tool, which includes acquiring table structure information to be queried from a database and function information of all supported built-in functions, and saving table structure information into a first text file and function information into a second text file. One text file and the second text file format; read the first text file and the second text file, and save in accordance with the specified format; save the first text file and the second text file data type matching, and automatically generate SQL query statements using random algorithm, and output SQL query statements, generate Executable file. The invention has the advantages that the SQL query statement automatic generation tool can be used to generate the SQL query statement without the database, and the input and output of the SQL query statement automatic generation tool can be unified, which can be applied to most databases and has strong compatibility.

【技术实现步骤摘要】
sql语句自动生成工具的数据库函数离线读取方法及系统
本专利技术涉及数据库领域,特别涉及一种sql语句自动生成工具的数据库函数离线读取方法及系统。
技术介绍
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理已不再仅仅是存储和管理数据,且已转变成用户所需要的各种数据管理的方式。近几年来,随着大数据的发展,数据库的类型变得越来越多,sql语法和使用方法也不同,对功能和性能的要求也越来越高。sql查询语句自动生成工具是在测试数据库功能和性能时经常需要使用到的一种工具,但是,现有的数据库sql查询语句自动生成工具都需要跟数据库进行交互,这使得如果数据库没有启动驱动或者没有安装数据库驱动的话,sql查询语句自动生成工具就无法使用;且针对不同的数据库类型,现有技术都需要使用不同的sql查询语句自动生成工具进行处理,因此兼容性差,无法实现工具的统一化处理;另外,针对一些非开源数据库的函数更新,现有的sql查询语句自动生成工具都无法同步进行扩展函数的更新,因为这样会造成测试case的遗漏。
技术实现思路
本专利技术要解决的技术问题之一,在于提供一种sql语句自动生成工具的数据库函数离线读取方法,通过该方法来实现将表结构信息和函数信息以文本文件的形式外置到数据库外,可实现在脱离数据库的情况下能够使用sql语句自动生成工具进行sql查询语句的生成;同时统一了sql语句自动生成工具的输入和输出,可适用于大部分数据库,兼容性强。本专利技术是这样实现技术问题之一的:sql语句自动生成工具的数据库函数离线读取方法,所述方法包括如下步骤:步骤S1、从数据库中获取要查询的表的表结构信息以及所有支持的内置函数的函数信息,且将获取的表结构信息保存成第一文本文件,将获取的函数信息保存成第二文本文件;步骤S2、修改第一文本文件和第二文本文件的格式,以使第一文本文件和第二文本文件的格式与sql查询语句自动生成工具的输入格式相符合;步骤S3、sql查询语句自动生成工具读取第一文本文件和第二文本文件,并按照规定的格式保存第一文本文件和第二文本文件;步骤S4、sql查询语句自动生成工具对保存的第一文本文件与第二文本文件进行数据类型匹配,并利用随机算法自动生成sql查询语句,且输出sql查询语句,生成可执行文件。进一步地,在更新数据库内置函数时,所述步骤S2还包括:根据更新的数据库内置函数的内容,直接对第一文本文件和第二文本文件的内容进行修改或者增加。进一步地,在所述步骤S1中,所述从数据库中获取要查询的表的表结构信息以及所有支持的内置函数的函数信息具体为:从数据库中获取要查询的表的列名以及表中各个列的类型信息,从数据库中获取所有支持的内置函数的函数名称、函数返回值类型、函数包含的参数个数以及各个参数的类型信息;所述所有支持的内置函数包括操作符、聚合函数、OLTP函数或者OLAP函数。进一步地,所述步骤S4具体为:sql查询语句自动生成工具获取保存的第一文本文件与第二文本文件,并将第一文本文件中各个列的类型信息与第二文本文件中的函数返回值类型和内置函数所包含的各个参数的类型信息进行匹配,且将类型相匹配的列和内置函数保存,类型不匹配的列和内置函数则不进行保存;利用随机算法随机选取保存的列和内置函数并自动生成sql查询语句,且输出sql查询语句,生成可执行文件。本专利技术要解决的技术问题之二,在于提供一种sql语句自动生成工具的数据库函数离线读取系统,通过该相同来实现将表结构信息和函数信息以文本文件的形式外置到数据库外,可实现在脱离数据库的情况下能够使用sql语句自动生成工具进行sql查询语句的生成;同时统一了sql语句自动生成工具的输入和输出,可适用于大部分数据库,兼容性强。本专利技术是这样实现技术问题之二的:sql语句自动生成工具的数据库函数离线读取系统,所述系统包括信息读取模块、文本修改模块、文本读取模块以及语句匹配输出模块;所述信息读取模块,用于从数据库中获取要查询的表的表结构信息以及所有支持的内置函数的函数信息,且将获取的表结构信息保存成第一文本文件,将获取的函数信息保存成第二文本文件;所述文本修改模块,用于修改第一文本文件和第二文本文件的格式,以使第一文本文件和第二文本文件的格式与sql查询语句自动生成工具的输入格式相符合;所述文本读取模块,用于sql查询语句自动生成工具读取第一文本文件和第二文本文件,并按照规定的格式保存第一文本文件和第二文本文件;所述语句匹配输出模块,用于sql查询语句自动生成工具对保存的第一文本文件与第二文本文件进行数据类型匹配,并利用随机算法自动生成sql查询语句,且输出sql查询语句,生成可执行文件。进一步地,在更新数据库内置函数时,所述文本修改模块还用于:根据更新的数据库内置函数的内容,直接对第一文本文件和第二文本文件的内容进行修改或者增加。进一步地,在所述信息读取模块中,所述从数据库中获取要查询的表的表结构信息以及所有支持的内置函数的函数信息具体为:从数据库中获取要查询的表的列名以及表中各个列的类型信息,从数据库中获取所有支持的内置函数的函数名称、函数返回值类型、函数包含的参数个数以及各个参数的类型信息;所述所有支持的内置函数包括操作符、聚合函数、OLTP函数或者OLAP函数。进一步地,所述语句匹配输出模块具体为:sql查询语句自动生成工具获取保存的第一文本文件与第二文本文件,并将第一文本文件中各个列的类型信息与第二文本文件中的函数返回值类型和内置函数所包含的各个参数的类型信息进行匹配,且将类型相匹配的列和内置函数保存,类型不匹配的列和内置函数则不进行保存;利用随机算法随机选取保存的列和内置函数并自动生成sql查询语句,且输出sql查询语句,生成可执行文件。本专利技术具有如下优点:1、采用将数据库表结构和内置函数文件外置到数据库外的方式,可使在数据库没有启动驱动或者没有安装数据库驱动的情况下(即数据库与sql查询语句自动生成工具没有交互的情况下),也可以使用sql查询语句自动生成工具来生成sql查询语句,这可为实际的使用带来较大的方便;2、在更新数据库的内置函数时,只需要对外置的第一文本文件和第二文本文件直接进行修改或者增加即可,而不需要去修改sql查询语句自动生成工具中的代码,因此,不仅可以节省时间,而且可以增强扩展性;3、将sql查询语句自动生成工具的输入和输出格式进行统一,这可以使sql查询语句自动生成工具能够适用于大部分数据库的使用需求,提高兼容性。附图说明下面参照附图结合实施例对本专利技术作进一步的说明。图1为本专利技术sql语句自动生成工具的数据库函数离线读取方法的原理框图。具体实施方式请参阅图1所示,本专利技术sql语句自动生成工具的数据库函数离线读取方法的较佳实施例,所述方法包括如下步骤:步骤S1、从数据库中获取要查询的表的表结构信息以及所有支持的内置函数的函数信息,且将获取的表结构信息保存成第一文本文件,将获取的函数信息保存成第二文本文件;执行步骤S1的目的是:将表结构信息和函数信息以文本文件的形式外置到数据库外,以使在数据库没有启动驱动或者没有安装数据库驱动的情况下也可以使用sql查询语句自动生成工具来生成sql本文档来自技高网...

【技术保护点】
1.一种sql语句自动生成工具的数据库函数离线读取方法,其特征在于:所述方法包括如下步骤:步骤S1、从数据库中获取要查询的表的表结构信息以及所有支持的内置函数的函数信息,且将获取的表结构信息保存成第一文本文件,将获取的函数信息保存成第二文本文件;步骤S2、修改第一文本文件和第二文本文件的格式,以使第一文本文件和第二文本文件的格式与sql查询语句自动生成工具的输入格式相符合;步骤S3、sql查询语句自动生成工具读取第一文本文件和第二文本文件,并按照规定的格式保存第一文本文件和第二文本文件;步骤S4、sql查询语句自动生成工具对保存的第一文本文件与第二文本文件进行数据类型匹配,并利用随机算法自动生成sql查询语句,且输出sql查询语句,生成可执行文件。

【技术特征摘要】
1.一种sql语句自动生成工具的数据库函数离线读取方法,其特征在于:所述方法包括如下步骤:步骤S1、从数据库中获取要查询的表的表结构信息以及所有支持的内置函数的函数信息,且将获取的表结构信息保存成第一文本文件,将获取的函数信息保存成第二文本文件;步骤S2、修改第一文本文件和第二文本文件的格式,以使第一文本文件和第二文本文件的格式与sql查询语句自动生成工具的输入格式相符合;步骤S3、sql查询语句自动生成工具读取第一文本文件和第二文本文件,并按照规定的格式保存第一文本文件和第二文本文件;步骤S4、sql查询语句自动生成工具对保存的第一文本文件与第二文本文件进行数据类型匹配,并利用随机算法自动生成sql查询语句,且输出sql查询语句,生成可执行文件。2.根据权利要求1所述的sql语句自动生成工具的数据库函数离线读取方法,其特征在于:在更新数据库内置函数时,所述步骤S2还包括:根据更新的数据库内置函数的内容,直接对第一文本文件和第二文本文件的内容进行修改或者增加。3.根据权利要求1所述的sql语句自动生成工具的数据库函数离线读取方法,其特征在于:在所述步骤S1中,所述从数据库中获取要查询的表的表结构信息以及所有支持的内置函数的函数信息具体为:从数据库中获取要查询的表的列名以及表中各个列的类型信息,从数据库中获取所有支持的内置函数的函数名称、函数返回值类型、函数包含的参数个数以及各个参数的类型信息;所述所有支持的内置函数包括操作符、聚合函数、OLTP函数或者OLAP函数。4.根据权利要求3所述的sql语句自动生成工具的数据库函数离线读取方法,其特征在于:所述步骤S4具体为:sql查询语句自动生成工具获取保存的第一文本文件与第二文本文件,并将第一文本文件中各个列的类型信息与第二文本文件中的函数返回值类型和内置函数所包含的各个参数的类型信息进行匹配,且将类型相匹配的列和内置函数保存,类型不匹配的列和内置函数则不进行保存;利用随机算法随机选取保存的列和内置函数并自动生成sql查询语句,且输出sql查询语句,生成可执行文件。5.一种sql语句自动生成工具的数据库函数离线读取系统,其特...

【专利技术属性】
技术研发人员:吴游颖林荫峰蔡世平方超
申请(专利权)人:福建星瑞格软件有限公司
类型:发明
国别省市:福建,35

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

1