数据库修改SQL生成方法、系统、存储介质及计算机设备技术方案

技术编号:17667639 阅读:61 留言:0更新日期:2018-04-11 05:57
本发明专利技术公开了一种数据库修改SQL生成方法、系统、存储介质及计算机设备,所述方法包括:对源数据库和目标数据库分别进行解析,以分别获取与所述源数据库对应的源表数据结构和与所述目标数据库对应的目标表数据结构,所述源表数据结构和所述目标表数据结构均包含字段数据和索引数据;对所述源表数据结构中和所述目标表数据结构中类别相同的所述字段数据和所述索引数据分别进行对比分析,以生成对应的差异SQL;汇总所有所述差异SQL,以生成目标修改SQL。本发明专利技术能够解决现有技术中操作繁琐、效率较低的问题。

Database modification SQL generation method, system, storage medium, and computer equipment

The invention discloses a method for generating SQL, modify the database system, storage medium and computer equipment, the method includes: the source and target databases are analyzed separately, corresponding to obtain and the source of the source database table structure and data corresponding to the target database table data structure of the target. The source table data structure and data structure of the target table contains the field data and index data; the data structure of the source table and the target table data structure in the same type of the field data and the index data are compared, differences to generate the corresponding SQL; summarize all the difference SQL, to generate the target to modify SQL. The invention can solve the problem of tedious operation and low efficiency in the existing technology.

【技术实现步骤摘要】
数据库修改SQL生成方法、系统、存储介质及计算机设备
本专利技术涉及数据处理
,特别是涉及一种数据库修改SQL生成方法、系统、存储介质及计算机设备。
技术介绍
随着科技的发展,各种应用软件,包括PC端的应用软件以及移动端的应用软件,已经成为人们生活、工作、学习不可获取的产品。软件在升级的时候,需要对升级前后数据库的DDL(DataDefinitionLanguage,数据库模式定义语言,简称DDL)的修改进行收集,以生成修改的SQL(StructuredQueryLanguage,结构化查询语言,简称SQL)。现有技术中,大都是采用人工的方式进行,当数据库中的字段或索引修改之后,需要人工编写修改的SQL,操作繁琐,且效率较低。虽然目前有一种软件,DBComparer,能够实现较为自动化的效果,但DBComparer只支持MicrosoftSQLServer,且DBComparer具有复杂的操作界面,对于用户来说,需要了解和适应其操作界面的各种功能,并需要按照一定的步骤去实现,最终导致该软件实用性较差。
技术实现思路
为此,本专利技术的一个实施例提出一种数据库修改SQL生成方法,解决现有技术中操作繁琐、效率较低的问题。根据本专利技术一实施例的数据库修改SQL生成方法,包括:对源数据库和目标数据库分别进行解析,以分别获取与所述源数据库对应的源表数据结构和与所述目标数据库对应的目标表数据结构,所述源表数据结构和所述目标表数据结构均包含字段数据和索引数据;对所述源表数据结构中和所述目标表数据结构中类别相同的所述字段数据和所述索引数据分别进行对比分析,以生成对应的差异SQL;汇总所有所述差异SQL,以生成目标修改SQL。根据本专利技术实施例的数据库修改SQL生成方法,首先对源数据库和目标数据库分别进行解析,即分别对软件升级前后的数据库分别进行解析,获得与两个数据库分别对应的表数据结构,且表数据结构包含了字段数据和索引数据,然后对两个表数据结构中的字段数据和索引数据分别进行对比分析,生成相应的差异SQL,即自动对修改进行收集,汇总所有的差异SQL后,即可生成目标修改SQL,该方法无需人工编写修改SQL,能够实现自动解析、分析以及汇总,因此操作简便,效率更高。此外,由于该方式是遵循标准SQL规范的,因此可以适用于支持该标准SQL规范的多种数据库产品,如oracle、mysql、db2等,适应范围更广,且该方法无需特定的操作界面,对开发者更友好,开发者只需熟悉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生成方法中生成第二修改SQL的流程图;图3是根据本专利技术另一实施例的数据库修改SQL生成系统的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,本专利技术一实施例提出的数据库修改SQL生成方法,其特征在于,所述方法包括:S101,对源数据库和目标数据库分别进行解析,以分别获取与所述源数据库对应的源表数据结构和与所述目标数据库对应的目标表数据结构,所述源表数据结构和所述目标表数据结构均包含字段数据和索引数据;其中,源数据库和目标数据库分别为软件升级本文档来自技高网...
数据库修改SQL生成方法、系统、存储介质及计算机设备

【技术保护点】
一种数据库修改SQL生成方法,其特征在于,所述方法包括:对源数据库和目标数据库分别进行解析,以分别获取与所述源数据库对应的源表数据结构和与所述目标数据库对应的目标表数据结构,所述源表数据结构和所述目标表数据结构均包含字段数据和索引数据;对所述源表数据结构中和所述目标表数据结构中类别相同的所述字段数据和所述索引数据分别进行对比分析,以生成对应的差异SQL;汇总所有所述差异SQL,以生成目标修改SQL。

【技术特征摘要】
1.一种数据库修改SQL生成方法,其特征在于,所述方法包括:对源数据库和目标数据库分别进行解析,以分别获取与所述源数据库对应的源表数据结构和与所述目标数据库对应的目标表数据结构,所述源表数据结构和所述目标表数据结构均包含字段数据和索引数据;对所述源表数据结构中和所述目标表数据结构中类别相同的所述字段数据和所述索引数据分别进行对比分析,以生成对应的差异SQL;汇总所有所述差异SQL,以生成目标修改SQL。2.根据权利要求1所述的数据库修改SQL生成方法,其特征在于,所述源表数据结构中的字段数据为源字段数据,所述目标表数据结构中的字段数据为目标字段数据,所述源字段数据和所述目标字段数据分别包括字段名,所述方法还包括:当所述源字段数据和所述目标字段数据存在不同的字段名时,根据所述源字段数据中的对应的字段名生成第一删除SQL,同时根据所述目标字段数据中的对应的字段名生成第一增加SQL;根据所述第一删除SQL和所述第一增加SQL生成第一差异SQL。3.根据权利要求2所述的数据库修改SQL生成方法,其特征在于,所述源字段数据和所述目标字段数据还分别包括与所述字段名对应的字段属性,所述方法还包括:对字段名相同的所述源字段数据中的字段属性和所述目标字段数据中的字段属性进行对比,当两者的字段属性不同时,根据所述目标字段数据中的对应的字段属性生成第一修改SQL。4.根据权利要求3所述的数据库修改SQL生成方法,其特征在于,所述源表数据结构中的索引数据为源索引数据,所述目标表数据结构中的索引数据为目标索引数据,所述方法还包括:对所述源索引数据和所述目标索引数据进行对比;获取所述源索引数据和所述目标索引数据的索引差异数据;根据所述索引差异数据生成第二修改SQL。5.根据权利要求4所述的数据库修改SQL生成方法,其特征在于,所述方法还包括:获取所述源索引数据,并记为第一集合,同时获取所述目标索引数据,并记为第二集合;获取所述第一集合和所述第二集合中属...

【专利技术属性】
技术研发人员:林锡鑫
申请(专利权)人:广州视睿电子科技有限公司广州视源电子科技股份有限公司
类型:发明
国别省市:广东,44

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

1