System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及sql,尤其涉及一种结构化查询语言生成方法、装置、设备以及可读存储介质。
技术介绍
1、结构化查询语言(structured query language,sql),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
2、结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。sql从功能上可以分为3部分:数据定义、数据操纵和数据控制。其核心部分相当于关系代数,但又具有关系代数所没有的许多特点,如聚集、数据库更新等。它是一个综合的、通用的、功能极强的关系数据库语言。其特点是:1、数据描述、操纵、控制等功能一体化。2、两种使用方式,统一的语法结构。sql有两种使用方式。一是联机交互使用,这种方式下的sql实际上是作为自含型语言使用的。另一种方式是嵌入到某种高级程序设计语言(如c语言等)中去使用。前一种方式适合于非计算机专业人员使用,后一种方式适合于专业计算机人员使用。尽管使用方式不向,但所用语言的语法结构基本上是一致的。3、高度非过程化。sql是一种第四代语言(4gl),用户只需要提出“干什么”,无须具体指明“怎么干”,像存取路径选择和具体处理操作等均由系统自动完成。4、语言简洁,易学易用。尽管sql的功能很强,但
3、因此,在数据查询时,如何把用户普通的查询语句转换为sql是技术人员日益关注的问题。
技术实现思路
1、本申请实施例提供一种结构化查询语言生成方法、装置、设备以及可读存储介质,能够自动将普通查询语言转换成结构化查询语言。
2、第一方面,本申请实施例提供了一种结构化查询语言,包括:接收来自用户的查询指令,该查询指令用于指示查询目标数据;在存在权限获取该查询指令中的关键词的sql格式的情况下,获取该查询指令中关键词的sql格式;获取该查询指令中关键词对应的库表信息;基于该库表信息、sql格式对该查询指令进行优化,得到优化后的查询指令;根据优化后的查询指令生成sql语句。
3、在上述实施例中,接收来自用户的查询目标数据的查询指令,然后将查询指令后,在识别到查询指令中的关键词后,在知识库中获取该关键词的sql格式。此外,获取该关键词中的库表的库表信息。根据获取的sql格式和库表信息对查询指令进行优化,从而得到优化后的查询指令。然后,根据优化后的查询指令生成sql语句。通过这种方式能够自动将用户的普通查询语句转换成sql语句,由于对用户的查询指令进行了语义分析等优化处理,使得转换出来的sql语句更加准确。
4、结合第一方面,在一种可能实现的方式中,获取查询指令中关键词的sql格式之前,还包括:确定用户的标识信息是否在权限表中;若在,则确定该用户存在权限获取查询指令中的关键词的sql格式;若不在,则确定该用户不存在权限获取该查询指令中的关键词的sql格式。
5、结合第一方面,在一种可能实现的方式中,获取该查询指令中关键词的sql格式之前,还包括:确定关键词是否为系统级别的关键词,或关键词为自定义级别的关键词且添加关键词的用户为该用户;若为是,则确定该用户存在权限获取该查询指令中的关键词的sql格式;若为否,则确定该用户不存在权限获取所述查询指令中的关键词的sql格式。
6、结合第一方面,在一种可能实现的方式中,根据优化后的查询指令生成sql语句之前,还包括:根据当前运行大模型的响应时间、准确性和资源利用率确定目标大模型,该目标大模型为根据生成的sql语句查询目标数据的大模型。
7、结合第一方面,在一种可能实现的方式中,基于库表信息、sql格式对查询指令进行优化,得到优化后的查询指令,具体包括:对查询指令进行语义分析得到关键信息;将关键信息、sql格式以及库表信息按照问题模板进行填充,得到优化后的查询指令。
8、第二方面,本申请实施例提供一种结构化查询语言生成装置,该装置包括查询语句接收模块、知识库模块、库表选择模块、问题组装模块、sql生成模块,其中:
9、查询语句接收模块,用于接收来自用户的查询指令,该查询指令用于指示查询目标数据;
10、知识库模块,用于在存在权限获取该查询指令中的关键词的sql格式的情况下,获取该查询指令中关键词的sql格式;
11、库表选择模块,用于获取该查询指令中关键词对应的库表信息;
12、问题组装模块,用于基于该库表信息、sql格式对该查询指令进行优化,得到优化后的查询指令;
13、sql生成模块,用于根据优化后的查询指令生成sql语句。
14、结合第二方面,在一种可能实现的方式中,知识库模块在存在权限获取该查询指令中的关键词的sql格式的情况下,获取该查询指令中关键词的sql格式之前,还包括:确定用户的标识信息是否在权限表中;若在,则确定该用户存在权限获取查询指令中的关键词的sql格式;若不在,则确定该用户不存在权限获取该查询指令中的关键词的sql格式。
15、结合第二方面,在一种可能实现的方式中,知识库模块在存在权限获取该查询指令中的关键词的sql格式的情况下,获取该查询指令中关键词的sql格式之前,还包括:确定关键词是否为系统级别的关键词,或关键词为自定义级别的关键词且添加关键词的用户为该用户;若为是,则确定该用户存在权限获取该查询指令中的关键词的sql格式;若为否,则确定该用户不存在权限获取所述查询指令中的关键词的sql格式。
16、结合第二方面,在一种可能实现的方式中,所述结构化查询语言生成装置还包括大模型切换模块,所述大模型切换模块,用于根据当前运行大模型的响应时间、准确性和资源利用率确定目标大模型,该目标大模型为根据生成的sql语句查询目标数据的大模型。
17、结合第二方面,在一种可能实现的方式中,所述基于库表信息、sql格式对查询指令进行优化,得到优化后的查询指令,具体包括:对查询指令进行语义分析得到关键信息;将关键信息、sql格式以及库表信息按照问题模板进行填充,得到优化后的查询指令。
18、第三方面,本申请实施例提供了一种结构化查询语言生成设备,包括存储器和处理器;
19、其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码,执行上述第一方面及其各种可能实现的方式中的结构化查询语言生成方法。
20、第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,实现上述第一方面及其各种可能实现的方式中结构化查询语言生成方法。
2本文档来自技高网...
【技术保护点】
1.一种结构化查询语言生成方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述获取所述查询指令中关键词的SQL格式之前,还包括:
3.如权利要求1所述的方法,其特征在于,所述获取所述查询指令中关键词的SQL格式之前,还包括:
4.如权利要求1所述的方法,其特征在于,所述根据所述优化后的查询指令生成SQL语句之前,还包括:
5.如权利要求1所述的方法,其特征在于,所述基于所述库表信息、所述SQL格式对所述查询指令进行优化,得到优化后的查询指令,具体包括:
6.一种结构化查询语言生成装置,其特征在于,包括执行如权利要求1-5任意一项所述的结构化查询语言方法的单元。
7.一种结构化查询语言生成设备,其特征在于,包括:存储器和处理器,其中:
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,实现如权利要求1-5任意一项所述的方法。
【技术特征摘要】
1.一种结构化查询语言生成方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述获取所述查询指令中关键词的sql格式之前,还包括:
3.如权利要求1所述的方法,其特征在于,所述获取所述查询指令中关键词的sql格式之前,还包括:
4.如权利要求1所述的方法,其特征在于,所述根据所述优化后的查询指令生成sql语句之前,还包括:
5.如权利要求1所述的方法,其特征在于,所述基于所述库表...
【专利技术属性】
技术研发人员:王晓旭,李晓亮,徐健,赵辉,刘哲文,
申请(专利权)人:度小满科技北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。