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

技术编号:39256829 阅读:10 留言:0更新日期:2023-10-30 12:08
本申请提供一种SQL语句生成方法、装置、电子设备及存储介质,SQL语句生成方法包括:接收对数据库进行操作的数据操作需求;根据所述数据操作需求,从所述数据库中的多个数据表描述信息中确定至少一个目标描述信息;根据所述目标描述信息与预先构建的提示模板确定所述数据操作需求对应的提示信息;通过输入所述提示信息至生成式预训练模型生成目标SQL语句。本申请能够提升生成的SQL语句的准确度,以提升对数据库操作的效率。对数据库操作的效率。对数据库操作的效率。

【技术实现步骤摘要】
SQL语句生成方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,具体涉及数据处理
,尤其涉及一种SQL语句生成方法、装置、电子设备及存储介质。

技术介绍

[0002]结构化查询语言(Structured Query Language,SQL)语句生成方法是一种根据自然语言描述的问题,生成相应的SQL语句的技术,其背景可以追溯到自然语言处理(Nature Language Process,NLP)和数据库查询优化的研究。传统的SQL语句的编写需要对数据库结构和SQL语法有一定的了解。然而,对于不具备编程技巧的用户来说,难以编写符合需求的SQL语句。
[0003]相关技术中,通常根据自然语言描述问题与SQL语句之间的映射关系,确定用户需要的SQL语句。然而,在采用这种方法时,若对自然语言描述问题的语义理解有误,将导致生成的SQL语句不准确的问题。

技术实现思路

[0004]鉴于以上内容,本申请提出一种SQL语句生成方法、装置、电子设备及存储介质,能够解决生成SQL语句的准确度低的技术问题。
[0005]本申请实施例提供一种SQL语句生成方法,所述方法包括:响应对数据库的数据操作需求,从所述数据库中的多个数据表描述信息中确定目标描述信息;根据所述目标描述信息与预先构建的提示模板,确定所述数据操作需求对应的提示信息;通过输入所述提示信息至生成式预训练模型,生成目标SQL语句。
[0006]在一些实施例中,所述响应对数据库的数据操作需求,从所述数据库中的所述多个数据表描述信息中确定目标描述信息包括:确定所述数据操作需求与每个所述数据表描述信息的相关性;根据所述相关性从所述数据表描述信息中确定所述目标描述信息。
[0007]在一些实施例中,所述确定所述数据操作需求与每个数据表描述信息的相关性包括:对所述数据操作需求进行编码,获得第一向量;获取预先编码的每个数据表描述信息对应的第二向量;根据所述第一向量与所述第二向量,确定所述数据操作需求与每个所述数据表描述信息的相关性。
[0008]在一些实施例中,所述根据所述相关性从所述数据表描述信息中确定目标描述信息包括:根据所述相关性由大到小的顺序,确定排名靠前的至少一个数据表描述信息为所述目标描述信息。
[0009]在一些实施例中,所述根据所述相关性从所述数据表描述信息中确定目标描述信息包括:获取每个所述数据表描述信息的类别;将所述数据操作需求输入至文本分类模型,获得所述数据操作需求对应每个类别的概率;根据所述概率与所述相关性确定每个数据表描述信息的优先级;根据所述优先级由高到低的顺序,确定排名靠前的至少一个数据表描述信息为所述目标描述信息。
[0010]在一些实施例中,所述根据所述目标描述信息与预先构建的提示模板确定所述数据操作需求对应的提示信息包括:对所述目标描述信息进行分词处理,获得多个目标词汇;确定每个目标词汇在所述提示模板中对应的占位符;利用所述每个目标词汇替换对应的占位符,获得提示信息。
[0011]在一些实施例中,所述方法还包括:当所述目标SQL语句符合预设语法规范时,运行所述目标SQL语句;若运行所述目标SQL语句时出现报错信息,根据所述报错信息和预设纠错模板确定更新后的提示信息;通过输入所述更新后的提示信息至所述生成式预训练模型,获得更新后的目标SQL语句。
[0012]本申请实施例还提供一种SQL语句生成装置,所述装置包括:接收模块,用于接收对数据库进行操作的数据操作需求;确定模块,用于根据所述数据操作需求,从所述数据库中的多个数据表描述信息中确定至少一个目标描述信息;所述确定模块,还用于根据所述目标描述信息与预先构建的提示模板,确定所述数据操作需求对应的提示信息;生成模块,用于通过输入所述提示信息至生成式预训练模型,生成目标SQL语句。
[0013]本申请实施例还提供一种电子设备,所述电子设备包括:存储器,存储至少一个指令;处理器,执行所述存储器中存储的指令以实现所述的SQL语句生成方法。
[0014]本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述的SQL语句生成方法。
[0015]由以上技术方案可以看出,本申请实施例能够通过使用生成式预训练模型对数据操作需求做出更准确的语义理解,提升生成目标SQL语句的准确度。另外,无需开发人员根据不同的需求手动编写SQL语句,从而能够节省人力成本,并提升SQL语句生成的效率,如此可有效提高对数据库的操作效率。
附图说明
[0016]图1是本申请一实施例提供的应用场景示意图。
[0017]图2是本申请一实施例提供的SQL语句生成示意图。
[0018]图3是本申请一实施例提供的SQL语句生成方法的流程图。
[0019]图4是本申请一实施例提供的确定目标描述信息的方法的流程图。
[0020]图5是本申请一实施例提供的确定相关性的方法的流程图。
[0021]图6是本申请另一实施例提供的确定目标描述信息的方法的流程图。
[0022]图7是本申请一实施例提供的确定提示信息的方法的流程图。
[0023]图8是本申请另一实施例提供的SQL语句生成方法的流程图。
[0024]图9是本申请一实施例提供的SQL语句生成装置的功能模块图。
具体实施方式
[0025]为了能够更清楚地理解本申请的目的、特征和优点,下面结合附图和具体实施例对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。在下面的描述中阐述了很多具体细节以便于充分理解本申请,所述描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
[0026]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0027]除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0028]如图1所示,是本申请实施例提供的一种SQL语句生成方法的应用场景示意图。本申请提供的SQL语句生成方法可应用于电子设备100,电子设备100与存储设备200通信连接,以从存储设备200获取相关数据。在其他实施例中,所述存储设备200也可内置于电子设备100中。实际应用中对电子设备100与存储设备200的连接方式不做限制。
[0029]电子设备100基于接收到的数据操作需求,从存储设备200中的数据库210存储的数据表对应的数据表描述信本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SQL语句生成方法,应用于电子设备,其特征在于,所述方法包括:响应对数据库的数据操作需求,从所述数据库中的多个数据表描述信息中确定目标描述信息;根据所述目标描述信息与预先构建的提示模板,确定所述数据操作需求对应的提示信息;通过输入所述提示信息至生成式预训练模型,生成目标SQL语句。2.如权利要求1所述的SQL语句生成方法,其特征在于,所述响应对数据库的数据操作需求,从所述数据库中的多个数据表描述信息中确定目标描述信息包括:确定所述数据操作需求与每个数据表描述信息的相关性;根据所述相关性从所述多个数据表描述信息中确定所述目标描述信息。3.如权利要求2所述的SQL语句生成方法,其特征在于,所述确定所述数据操作需求与每个数据表描述信息的相关性包括:对所述数据操作需求进行编码,获得第一向量;获取预先编码的所述每个数据表描述信息对应的第二向量;根据所述第一向量与所述第二向量,确定所述数据操作需求与每个所述数据表描述信息的相关性。4.如权利要求3所述的SQL语句生成方法,其特征在于,所述根据所述相关性从所述数据表描述信息中确定目标描述信息,包括:根据所述相关性由大到小的顺序,确定排名靠前的至少一个数据表描述信息为所述目标描述信息。5.如权利要求2所述的SQL语句生成方法,其特征在于,所述根据所述相关性从所述数据表描述信息中确定目标描述信息包括:获取每个所述数据表描述信息的类别;将所述数据操作需求输入至文本分类模型,获得所述数据操作需求对应每个类别的概率;根据所述概率与所述相关性确定每个数据表描述信息的优先级;根据所述优先级由高到低的顺序,确定排名靠前的至少一个数据...

【专利技术属性】
技术研发人员:谭华
申请(专利权)人:广州商研网络科技有限公司
类型:发明
国别省市:

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

1