CN113326282A - Sql语句生成方法、装置、电子设备及存储介质 - Google Patents

Sql语句生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113326282A
CN113326282A CN202110670309.1A CN202110670309A CN113326282A CN 113326282 A CN113326282 A CN 113326282A CN 202110670309 A CN202110670309 A CN 202110670309A CN 113326282 A CN113326282 A CN 113326282A
Authority
CN
China
Prior art keywords
interface
sub
sql
selection result
chinese
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110670309.1A
Other languages
English (en)
Inventor
童新
徐航
刘丽媛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202110670309.1A priority Critical patent/CN113326282A/zh
Publication of CN113326282A publication Critical patent/CN113326282A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种SQL语句生成方法、装置、电子设备及存储介质。该方法包括:响应于用户在预设界面上按照指定顺序做出的选取操作,生成多个汉化结构化查询语言SQL子语句,其中,所述预设界面是基于Vue框架所构建的;依据预设的英文书写顺序的处理要求,对所述多个汉化SQL子语句进行组装处理,得到汉化SQL语句;对所述汉化SQL语句进行英文翻译处理,得到SQL语句。本申请能够降低非专业用户编写SQL语句难度。

Description

SQL语句生成方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术,尤其涉及一种SQL语句生成方法、装置、电子设备及存储介质。
背景技术
近年来随着计算机及数据库的发展,结构化查询语言(Structure QueryLanguge,SQL),一种数据库专用的计算机编程语言得到了广泛使用,成为了最重要也是最常用的关系数据库操作语言。
然而,目前编辑SQL语句的方法,通过由具备数据库等相关专业知识的用户在后端编写,进而生成SQL语句。此方法对编写SQL语句用户的背景知识要求较高,特别是,SQL子句的书写顺序是固定的,不能随意更改,书写顺序发生改变会造成执行错误。
因此,目前SQL语句的编辑方法对于非专业用户来说,具有较大的编写难度。
发明内容
本申请提供一种SQL语句生成方法、装置、电子设备及存储介质,用以解决非专业用户编写SQL语句困难的问题。
第一方面,本申请实施例提供一种SQL语句生成方法,包括:
响应于用户在预设界面上按照指定顺序做出的选取操作,生成多个汉化结构化查询语言SQL子语句,其中,所述预设界面是基于Vue框架所构建的;
依据预设的英文书写顺序的处理要求,对所述多个汉化SQL子语句进行组装处理,得到汉化SQL语句;
对所述汉化SQL语句进行英文翻译处理,得到SQL语句。
在可选的一种实施方式中,所述响应于用户在预设界面上按照指定顺序做出的选取操作,生成多个汉化结构化查询语言SQL子语句,包括:
响应于用户在所述预设界面的第一子界面上做出的第一操作,生成与所述第一操作对应的表选择结果;
将所述预设界面从所述第一子界面切换到所述预设界面的第二子界面;
响应于用户在所述预设界面的第二子界面上做出的第二操作,生成与所述第二操作对应的字段选择结果;
将所述预设界面从所述第二子界面切换到所述预设界面的第三子界面;
响应于用户在所述预设界面的第三子界面上做出的第三操作,生成与所述第三操作对应的定义选择结果,并将所述表选择结果、所述字段选择结果以及所述定义选择结果确定为所述汉化结构化查询语言SQL子语句。
在可选的一种实施方式中,所述定义选择结果包括条件定义结果、分组定义结果、排序定义结果以及语句信息定义结果中的一种或多种。
在可选的一种实施方式中,在所述响应于用户在所述预设界面的第二子界面上做出的第二操作,生成与所述第二操作对应的字段选择结果之后,还包括:
响应于用户在所述预设界面上做出的界面切换操作,将所述预设界面切换与所述界面切换操作对应的子界面。
在可选的一种实施方式中,在所述响应于用户在所述预设界面上做出的界面切换操作,将所述预设界面切换与所述界面切换操作对应的子界面之前,还包括:
确定所述第一子界面中具有表选择结果、所述第二子界面中具有字段选择结果。
在可选的一种实施方式中,所述方法还包括:
若检测到所述第一子界面中的表选择结果发生改变,清除所述第二子界面中的字段选择结果和所述第三子界面中的定义选择结果。
在可选的一种实施方式中,所述方法还包括:
若检测到所述第二子界面中的表选择结果发生改变,清除所述第三子界面中的定义选择结果。
第二方面,本申请实施例提供一种SQL语句生成装置,包括:
SQL子语句生成模块,用于响应于用户在预设界面上按照指定顺序做出的选取操作,生成多个汉化结构化查询语言SQL子语句,其中,所述预设界面是基于Vue框架所构建的;
处理模块,用于依据预设的英文书写顺序的处理要求,对所述多个汉化SQL子语句进行组装处理,得到汉化SQL语句;
翻译模块,用于对所述汉化SQL语句进行英文翻译处理,得到SQL语句。
在可选的一种实施方式中,SQL子语句生成模块,包括:
表选择结果生成单元,用于响应于用户在所述预设界面的第一子界面上做出的第一操作,生成与所述第一操作对应的表选择结果;
第一切换单元,用于将所述预设界面从所述第一子界面切换到所述预设界面的第二子界面;
字段选择结果生成单元,用于响应于用户在所述预设界面的第二子界面上做出的第二操作,生成与所述第二操作对应的字段选择结果;
第二切换单元,用于将所述预设界面从所述第二子界面切换到所述预设界面的第三子界面;
定义选择结果生成单元,用于响应于用户在所述预设界面的第三子界面上做出的第三操作,生成与所述第三操作对应的定义选择结果,并将所述表选择结果、所述字段选择结果以及所述定义选择结果确定为所述汉化结构化查询语言SQL子语句。
在可选的一种实施方式中,所述定义选择结果包括条件定义结果、分组定义结果、排序定义结果以及语句信息定义结果中的一种或多种。
在可选的一种实施方式中,SQL语句生成装置还包括:
切换操作响应模块,用于响应于用户在所述预设界面上做出的界面切换操作,将所述预设界面切换与所述界面切换操作对应的子界面。
在可选的一种实施方式中,切换操作响应模块,还用于:
确定所述第一子界面中具有表选择结果、所述第二子界面中具有字段选择结果。
在可选的一种实施方式中,SQL语句生成装置还包括:
第一清除模块,用于若检测到所述第一子界面中的表选择结果发生改变,清除所述第二子界面中的字段选择结果和所述第三子界面中的定义选择结果。
在可选的一种实施方式中,SQL语句生成装置还包括:
第二清除模块,用于若检测到所述第二子界面中的表选择结果发生改变,清除所述第三子界面中的定义选择结果。
第三方面,本申请实施例提供一种电子设备,包括:存储器和处理器;
存储器,用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述实施例提供的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述实施例提供的方法。
第五方面,本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如本申请第一方面对应的任意实施例提供的方法。
本申请提供的SQL语句生成方法、装置、电子设备及存储介质,通过响应于用户在预设界面上按照指定顺序做出的选取操作,生成多个汉化结构化查询语言SQL子语句,其中,预设界面是基于Vue框架所构建的,从而能够通过预设界面按照预设流程顺序的方式引导用户选择SQL子语句,且SQL子语句为汉化版,方便非专业用户选择。再依据预设的英文书写顺序的处理要求,对多个汉化SQL子语句进行组装处理,得到汉化SQL语句,从而将汉化的SQL子语句调节成英文书写顺序,以使数据库能够执行。最后对汉化SQL语句进行英文翻译处理,得到SQL语句。也就是说,用户需要在Vue工程内实现汉化SQL编辑器时,直接调用该预设界面(Vue组件)并按照指定引导流程选择即可,上手容易,降低了非专业用户编写SQL语句的难度,提高了代码开发效率和代码质量。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种SQL语句生成方法的流程示意图;
图2为本申请实施例提供的另一种SQL语句生成方法的流程示意图;
图3为本申请实施例提供的第一子界面的界面示意图;
图4为本申请实施例提供的第二子界面的界面示意图;
图5为本申请实施例提供的第三子界面的界面示意图;
图6为本申请实施例提供的汉化SQL编辑器的具体实现流程图;
图7为本申请实施例提供的SQL语句生成装置的结构示意图;
图8是本申请实施例提供的一种电子设备的结构示意图;
图9是本申请实施例提供的一种电子设备的框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
随着信息化快速发展,数据库的应用越来越普遍。SQL作为一种访问和处理数据库的标准的计算机语言,用于取回和更新数据库中的数据。SELECT语句是SQL语句中使用最多的基本的SQL语句,用于从表中选取数据,其基本语法如下:
SELECT
<列名1>,<列名2>,<列名3>,......
FROM<表名>
WHERE<条件表达式>
GROUP BY
<列名1>,<列名2>,<列名3>,......
HAVING<分组结果对应的条件>
ORDER BY<排序基准列1>,<排序基准列2>,......
根据上述的基本语法知,SELECT语句由SELECT子语句、FROM子语句、WHERE子语句、GROUP BY子语句、HAVING子语句以及ORDER BY子语句组成。在一个基本的SELECT语句中,SELECT子语句、FROM子语句是必不可少的,其他子语句可根据实际情况保留或者不保留。值得注意的是,SQL子语句的书写顺序是固定的,不能随意更改,书写顺序发生改变会造成执行错误。如:GROUP BY一定要写在FROM语句之后,如果有WHERE子语句的话要写在WHERE子语句之后。
在审计业务场景中,通常需要业务人员编写大量的SQL模型用于审计查证分析。由于编写英文SQL需要业务人员具有一定的SQL基础,这对于非SQL技术人员来说具有一定的难度和挑战。
在相关技术中,通常是采用的是JavaScript程序自动根据拖拽对象的英文名称对SQL语句的SELECT子语句、FROM子语句、WHERE子语句、GROUP BY子语句进行拼接,完成SQL语句的组装。但这种方式不支持数据库函数的使用,导致编写的SQL语句不够灵活,使用范围局限,无法满足用户的部分查询场景。
另外,上述方案是基于JavaScript实现,编码时需要频繁操作DOM对象,开发流程复杂,并且视图代码与业务逻辑不分离,致使后期代码维护成本偏高。
本申请实施例提供一种SQL语句生成方法、装置、电子设备及存储介质,旨在解决现有技术的如上技术问题,本申请实施例提的SQL语句生成方法,上手容易,降低了非专业用户编写SQL语句的难度,提高了代码开发效率和代码质量。
下面对本实施例所涉及到的相关术语进行解释说明:
Vue:是一套渐进式的JavaScript框架,用于构建界面。
SQL:是Structured Query Language的简写,中文名称:结构化查询语言,是一种数据库查询和程序设计语言,它的作用是使我们有能力访问数据库并用于取回和更新数据库中的数据。
MVVM:是Model-View-View-Model的简写,MVVM就是将其中的View的状态和行为抽象化,让视图和业务逻辑分离。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的一种SQL语句生成方法的流程示意图,如图1所示,本实施例提供的方法,包括:
101、响应于用户在预设界面上按照指定顺序做出的选取操作,生成多个汉化结构化查询语言SQL子语句,其中,预设界面是基于Vue框架所构建的。
示例性地,本实施例的执行主体可以是电子设备、或者终端设备、或者基于Vue的汉化SQL编辑器或设备、或者其他可以执行本实施例的装置或设备,不做限制。本实施例以执行主体为电子设备进行说明。其中,该电子设备可以配置有显示组件和输入组件,以实现用户和电子设备之间的交互,可选地,显示组件可以包括液晶显示器,输入组件可以包括鼠标、按键等,可选地,显示组件和输入组件可以集成到一起,例如触摸屏。
在一些实施方式中,电子设备可以通过显示组件显示预设界面,其中,预设界面中可以显示供用户选择的不同类别的SQL子语句选项,例如SQL子语句选项可以包括表(即FROM子语句)类别中的多个选项、显示字段(即SELECT子语句)类别中的多个选项、定义条件(即WHERE子语句)类别中的多个选项等。用户可以通过输入组件在预设界面上做出选择操作,当电子设备接收到选择操作时,可以响应该选择操作,并生成与该选择操作对应的SQL子语句,从而在每种类别的SQL子语句选项中选择需要的SQL子语句,以生成相应的SQL子语句。
由于SQL子句的书写顺序是固定的,书写顺序发生改变会造成执行错误,因此,预设界面可以引导用户按照指定顺序做出选取操作。由于WHERE子语句存在的前提是必须具有SELECT子语句,SELECT子语句存在的前提是必须具有FROM子语句,因此,指定顺序可以是先选取FROM子语句,再选取SELECT子语句,再选取WHERE子语句。
作为一种示例,预设界面可以包括多个,每个界面可以用于选择一种SQL子语句,当一种SQL子语句选取后,才能切换到下一个界面进行另一个SQL子语句的选取。从而保证用户能够按照指定顺序进行SQL子语句的选取。
作为另一种示例,电子设备可以根据一种SQL子语句的选取情况控制另一种SQL子语句的选取权限。例如,当FROM子语句选取完成后,才开放SELECT子语句的选取权限,以保证用户能够按照指定顺序进行SQL子语句的选取。
可选地,预设界面和SQL子语句预先经过汉化处理,即将原本为英文的SQL子语转换成对应的汉字,从而以汉字的形式显示,以方便非专业用户查看。
102、依据预设的英文书写顺序的处理要求,对多个汉化SQL子语句进行组装处理,得到汉化SQL语句。
在一些实施方式中,电子设备可以基于已完成的SQL子语句内容,按照英文SQL的书写顺序,将汉化SQL子语句组装为汉化SQL语句。其中,英文书写顺序为按照英文语法书写语句的顺序。
由于按照中文中的语法对语句的书写顺序与按照英文的语法对语句的书写顺序是不同的,而SQL语句被执行时是以英文书写顺序被执行的,因此需要将汉化的SQL子语句内容转化为英文的书写顺序后,再组装为汉化SQL语句。
103、对汉化SQL语句进行英文翻译处理,得到SQL语句。
在一些实施方式中,电子设备在需要将汉化SQL语句提交数据库执行时,将汉化SQL语句翻译为英文SQL即可。
本实施例中,通过响应于用户在预设界面上按照指定顺序做出的选取操作,生成多个汉化结构化查询语言SQL子语句,其中,预设界面是基于Vue框架所构建的,从而能够通过预设界面按照预设流程顺序的方式引导用户选择SQL子语句,且SQL子语句为汉化版,方便非专业用户选择。再依据预设的英文书写顺序的处理要求,对多个汉化SQL子语句进行组装处理,得到汉化SQL语句,从而将汉化的SQL子语句调节成英文书写顺序,以使数据库能够执行。最后对汉化SQL语句进行英文翻译处理,得到SQL语句。也就是说,用户需要在Vue工程内实现汉化SQL编辑器时,直接调用该预设界面(Vue组件)并按照指定引导流程选择即可,上手容易,降低了非专业用户编写SQL语句的难度,提高了代码开发效率和代码质量。
图2为本申请实施例提供的另一种SQL语句生成方法的流程示意图,如图2所示,本实施例提供的方法,包括:
201、响应于用户在预设界面的第一子界面上做出的第一操作,生成与第一操作对应的表选择结果。
作为一种示例,如图3所示,图3示出了第一子界面的界面示意图,具体地,以账表为例,第一子界面中可以包括查询区和选择账表区域,用户可以在查询区通过选择账表类型、输入中文表名、以及选择来源***等方式查找账表,然后查找到的账表可以在选择账表区域的可选账表的列表中进行显示,此外,用户已经选出的账表可以显示在已选账表中。可选地,第一子界面还包括添加和删除图标,用户可以通过点击第一子界面上的删除图标,删除已选账表的列表中被选中的账表,通过点击第一子界面上的添加图标,将可选账表中被选中的账表添加到已选账表的列表中。
当用户在第一子界面上做出的第一操作,电子设备可以响应于用户在预设界面的第一子界面上做出的第一操作,生成与第一操作对应的表选择结果,例如第一操作为在第一子界面中选取个人基本信息表,那么表选择结果则为个人基本信息表。可选地,第一操作包括但不限于:点击、滑动、字符输入等操作。
202、将预设界面从第一子界面切换到预设界面的第二子界面。
当电子设备检测到表选择结果确定以后,电子设备可以将预设界面从第一子界面切换到预设界面的第二子界面。
203、响应于用户在预设界面的第二子界面上做出的第二操作,生成与第二操作对应的字段选择结果。
作为一种示例,如图4所示,图4示出了第二子界面的界面示意图,具体地,第二子界面中可以包括可选区和编辑字段区域。在可选区中,用户可以选择可选字段(如选择客户号、中文名称、性别代码等字段)、函数符(如求统计方差、求总和、求方差、求最小值等)、运算符号(如加、减、乘、除等)。在编辑字段区域,用户可以自行输入字段,包括输入中文字段名、英文字段名、字段表达式等。可选地,第二子界面还可以包括清空、添加、修改等图标以供用户调整在第二子界面选择的字段。可选地,用户在可选区进行选取后,编辑字段区域可以根据选取结果生成相应的字段表达式。
当用户在第二子界面上做出的第二操作,电子设备可以响应于用户在预设界面的第二子界面上做出的第二操作,生成与第二操作对应的表选择结果,例如第二操作为在第二子界面中编辑字段区域输入的字段表达式,那么可以将字段表达式确定为字段选择结果。可选地,第二操作包括但不限于:点击、滑动、字符输入等操作。
204、将预设界面从第二子界面切换到预设界面的第三子界面。
当电子设备检测到字段选择结果确定以后,电子设备可以将预设界面从第二子界面切换到预设界面的第三子界面。
205、响应于用户在预设界面的第三子界面上做出的第三操作,生成与第三操作对应的定义选择结果,并将表选择结果、字段选择结果以及定义选择结果确定为汉化结构化查询语言SQL子语句。
作为一种示例,如图5所示,图5示出了第三子界面的界面示意图,具体地,以定义选择为指定条件搜索为例,第三子界面中可以包括可选区和编辑区。在可选区中,用户可以选择可选字段、函数符、符号、模型参数等。在编辑字段区域,用户可以自行输入搜索条件。可选地,用户在可选区进行选取后,编辑区域可以根据可选取的选取结果生成相应的搜索条件表达式,例如搜索条件表达式可以为:CIF_个人基本信息表.客户号等于CIF_历史个人证件识别标识表.客户号。
然后,电子设备可以将第一子界面、第二子界面和第三子界面中选取的表选择结果、字段选择结果以及定义选择结果确定为汉化SQL子语句。
在一些实施方式中,定义选择结果包括条件定义结果、分组定义结果、排序定义结果以及语句信息定义结果中的一种或多种。
其中,条件定义结果、分组定义结果、排序定义结果以及语句信息定义结果的选取可以通过上述子界面切换的方式进行选择,用户通过每个子界面确定一个定义结果。其中,条件定义结果、分组定义结果、排序定义结果以及语句信息定义结果的选取顺序依次为条件定义结果、分组定义结果、排序定义结果以及语句信息定义结果。
在一些实施方式中,在步骤203之后,该方法还包括:响应于用户在预设界面上做出的界面切换操作,将预设界面切换与界面切换操作对应的子界面。
作为一种示例,请再次参阅图5,图5中的第三子界面包括了1至6,六个步骤的选择图标,用户可以选择数字对应的图标,切换到与选择的数字对应的子界面,例如用户点击第三子界面中的图标“2”,则可以切换到第二子界面,从而使用户能够在不同子界面之间切换,方便对SQL子语句进行编辑。
作为一种方式,在响应于用户在预设界面上做出的界面切换操作,将预设界面切换与界面切换操作对应的子界面之前,还需要确定第一子界面中具有表选择结果、第二子界面中具有字段选择结果。
作为一种示例,电子设备可以检测第一子界面中是否具有表选择结果以及第二子界面中是否具有字段选择结果,若第一子界面中具有表选择结果、第二子界面中具有字段选择结果,则可以执行响应于用户在预设界面上做出的界面切换操作,将预设界面切换与界面切换操作对应的子界面。若第一子界面中不具有表选择结果或/和第二子界面中不具有字段选择结果,电子设备可以发出提示信息以提示用户到对应的子界面进行选取。
可以理解的是,在选择SQL子语句中,选择账表是选择字段和定义条件的前提,没有选择账表无法进入后面的选择;选择显示字段是继选择账表后的必选项,没有选择字段则无法继续选择定义条件。
在一些实施方式中,该方法还包括:若电子设备检测到第一子界面中的表选择结果发生改变,清除第二子界面中的字段选择结果和第三子界面中的定义选择结果。
在另一些实施方式中,该方法还包括:若电子设备检测到第二子界面中的表选择结果发生改变,清除第三子界面中的定义选择结果。
206、依据预设的英文书写顺序的处理要求,对多个汉化SQL子语句进行组装处理,得到汉化SQL语句。
207、对汉化SQL语句进行英文翻译处理,得到SQL语句。
其中,步骤206至步骤207的具体实施方式可以参考步骤102至步骤103,故不在此赘述。
作为一种示例,将步骤201至步骤207作为一个整体进行说明,在实际应用中,如图6所示,本实施例的SQL语句生成方法可以看作一个汉化SQL编辑器的具体实现流程,该实现流程包括:步骤一:选择账表、步骤二:选择显示字段、步骤三:定义条件、步骤四:定义分组、步骤五:定义排序、步骤六:定义语句信息。其中,上述六个步骤中每个步骤分别对应图3至图5所示的多个子界面,具体地,步骤序号与子界面的序号一一对应。如步骤一对应序号为1的子界面(选择审计账表),步骤二对应序号为2的子界面(选择显示字段),步骤三对应序号为3的子界面(指定搜索条件)等等。
其中,在以上六个步骤,每个步骤的具体含义如下:
步骤一,选择账表对应FROM子语句功能,用于选取出数据的表名称。
步骤二,选择显示字段对应SELECT子语句功能,用于定义查询的列名称,支持列名、常数、表达式的书写,支持用户使用各种函数和各种操作符处理字段,支持调整显示字段的顺序。
步骤三,定义搜索条件对应WHERE子语句功能,用于选取出满足某些条件的数据,涉及多个条件组合查询时,可使用AND运算符或者OR运算符将条件表达式进行组合。
步骤四,定义分组对应GROUP BY子语句功能,用于实现分组汇总。
步骤五,定义排序对应ORDER BY子语句功能,实现查询结果排序。
步骤六,定义语句信息虽不属于SQL子语句内容,但可用于描述本条SQL的作用和用途,类似SQL代码的注释功能。
通过以上六个步骤即可实现汉化SQL语句的编写,该语句模式可用于从单表或者多表关联(包含外连接,内连接,自然连接等联表方式)结果中选取数据。
可以理解的是,本实施例提出的汉化SQL编辑器是利用Vue技术实现的,因此该汉化SQL编辑器在实现时,基于Vue组件思想,将每个步骤抽象为一个拥有特定功能的子组件(相当于上述子界面),用户在进行步骤切换时,可以将功能子组件内容通过$emit方法传值到父组件,调用父组件的合法校验规则,如果校验通过,切换到指定步骤,否则提示用户进行修改。
由于SQL操作的对象主要是数据库中的账表及其字段。在本实施例中,选择账表是所有步骤的前提,没有选择账表无法进入后面的步骤;选择显示字段是继选择账表后的必选项;定义条件、定义分组、定义排序以及定义语句信息都不是必选项,由用户SQL具体实现的功能来决定是否输入。所以上述所提的父组件的合法校验规则是指:当排序靠后的界面需要切换时,需要确定排序在前的子界面中已经具有选取结果。
可选地,为了提高汉化SQL编辑器的智能性,降低用户出错概率,该汉化SQL编辑器在实现时,可以利用Vue的Watch属性来监听步骤一中的已选账表和步骤二中的已选字段。当已选账表变化时,自动清空步骤二到步骤六的所有已选或者已输入内容;当已选字段变化时,自动清空步骤三到步骤六的所有已选或者已输入内容。
当用户按照指定流程,即以选择账表、选择显示字段、定义条件、定义分组、定义排序的顺序完成SQL子语句内容时,这时本发明按照SQL语法规则和书写顺序来组装汉化SQL语句,生成类似于“查询......来自......条件......分组......排序......”这样结构的汉化SQL语句。需要提交数据库运行时,将汉化SQL语句翻译为英文SQL即可。
可见,通过上述描述步骤即可实现本实施例的SQL语句生成方法。该方法以一种流程方式引导用户按照指定的步骤,即选择账表、选择显示字段、定义条件、定义分组、定义排序,完成SQL子语句选取内容。基于已完成的SQL子语句内容按照英文SQL的书写顺序,将各个步骤中的汉化SQL子语句组装为汉化SQL语句。需要提交数据库执行时,将汉化SQL语句翻译为英文SQL即可。从而一方面降低了非SQL技术人员编写SQL的难度,另一方面,基于Vue双向数据绑定特性,支持用户任意修改某步骤内容并动态响应与之有关步骤的内容;并且以Vue组件方式实现,需要在Vue工程内实现汉化SQL编辑器时,直接调用该Vue组件即可,导入方便,上手容易,降低了汉化SQL编辑器的实现难度,提高了代码开发效率和代码质量。
图7为本申请实施例提供的一种SQL语句生成装置的结构示意图,如图7所示,该装置包括:
SQL子语句生成模块31,用于响应于用户在预设界面上按照指定顺序做出的选取操作,生成多个汉化结构化查询语言SQL子语句,其中,预设界面是基于Vue框架所构建的。
处理模块32,用于依据预设的英文书写顺序的处理要求,对多个汉化SQL子语句进行组装处理,得到汉化SQL语句。
翻译模块33,用于对汉化SQL语句进行英文翻译处理,得到SQL语句。
一个示例中,SQL子语句生成模块31,包括:
表选择结果生成单元,用于响应于用户在预设界面的第一子界面上做出的第一操作,生成与第一操作对应的表选择结果。
第一切换单元,用于将预设界面从第一子界面切换到预设界面的第二子界面。
字段选择结果生成单元,用于响应于用户在预设界面的第二子界面上做出的第二操作,生成与第二操作对应的字段选择结果。
第二切换单元,用于将预设界面从第二子界面切换到预设界面的第三子界面。
定义选择结果生成单元,用于响应于用户在预设界面的第三子界面上做出的第三操作,生成与第三操作对应的定义选择结果,并将表选择结果、字段选择结果以及定义选择结果确定为汉化结构化查询语言SQL子语句。
一个示例中,定义选择结果包括条件定义结果、分组定义结果、排序定义结果以及语句信息定义结果中的一种或多种。
一个示例中,SQL语句生成装置还包括:
切换操作响应模块,用于响应于用户在预设界面上做出的界面切换操作,将预设界面切换与界面切换操作对应的子界面。
一个示例中,切换操作响应模块,还用于:
确定第一子界面中具有表选择结果、第二子界面中具有字段选择结果。
一个示例中,SQL语句生成装置还包括:
第一清除模块,用于若检测到第一子界面中的表选择结果发生改变,清除第二子界面中的字段选择结果和第三子界面中的定义选择结果。
一个示例中,SQL语句生成装置还包括:
第二清除模块,用于若检测到第二子界面中的表选择结果发生改变,清除第三子界面中的定义选择结果。
示例性地,本实施例可以参见上述方法实施例,其原理和技术效果类似,不再赘述。
图8是本申请实施例提供的一种电子设备的结构示意图,如图8所示,电子设备包括存储器43和处理器42。
存储器43,用于存储处理器42可执行指令的存储器。
处理器42被配置为执行上述实施例提供的方法。
电子设备还包括接收器40和发送器41。接收器40用于接收外部设备发送的指令和数据,发送器41用于向外部设备发送指令和数据。
图9是本申请实施例提供的一种电子设备的框图,该设备可以是移动电话,计算机,平板设备,个人数字助理等。
装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理***,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述实施例提供的方法。
本申请实施例提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
综上所述,本实施例提供的SQL语句生成方法、装置、电子设备及存储介质,一方面,利用Vue技术实现,Vue通过MVVM技术实现数据的双向绑定,通过数据更新来自动刷新页面,避免了DOM操作的繁琐,简化前端开发流程,提升了开发效率。另一方面,以一种流程方式引导用户按照指定的步骤,即选择账表、选择显示字段、定义条件、定义分组、定义排序,完成SQL子句内容。对用户而言,操作简单,上手容易,可读性强,无需关注英文SQL的书写顺序,降低了非SQL技术人员编写SQL的难度。再一方面,选择显示字段和定义条件时支持用户使用数据库函数做字段处理,使汉化SQL语句足够灵活,能够满足用户更多的查询场景。如图4提的是本发明实施实例提供的选择显示字段示意图,图5提供的是本发明实施实例提供的定义条件示意图,图4和图5中均提供了函数符,支持用户使用函数处理字段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (11)

1.一种SQL语句生成方法,其特征在于,包括:
响应于用户在预设界面上按照指定顺序做出的选取操作,生成多个汉化结构化查询语言SQL子语句,其中,所述预设界面是基于Vue框架所构建的;
依据预设的英文书写顺序的处理要求,对所述多个汉化SQL子语句进行组装处理,得到汉化SQL语句;
对所述汉化SQL语句进行英文翻译处理,得到SQL语句。
2.根据权利要求1所述的方法,其特征在于,所述响应于用户在预设界面上按照指定顺序做出的选取操作,生成多个汉化结构化查询语言SQL子语句,包括:
响应于用户在所述预设界面的第一子界面上做出的第一操作,生成与所述第一操作对应的表选择结果;
将所述预设界面从所述第一子界面切换到所述预设界面的第二子界面;
响应于用户在所述预设界面的第二子界面上做出的第二操作,生成与所述第二操作对应的字段选择结果;
将所述预设界面从所述第二子界面切换到所述预设界面的第三子界面;
响应于用户在所述预设界面的第三子界面上做出的第三操作,生成与所述第三操作对应的定义选择结果,并将所述表选择结果、所述字段选择结果以及所述定义选择结果确定为所述汉化结构化查询语言SQL子语句。
3.根据权利要求2所述的方法,其特征在于,所述定义选择结果包括条件定义结果、分组定义结果、排序定义结果以及语句信息定义结果中的一种或多种。
4.根据权利要求2所述的方法,其特征在于,在所述响应于用户在所述预设界面的第二子界面上做出的第二操作,生成与所述第二操作对应的字段选择结果之后,还包括:
响应于用户在所述预设界面上做出的界面切换操作,将所述预设界面切换与所述界面切换操作对应的子界面。
5.根据权利要求4所述的方法,其特征在于,在所述响应于用户在所述预设界面上做出的界面切换操作,将所述预设界面切换与所述界面切换操作对应的子界面之前,还包括:
确定所述第一子界面中具有表选择结果、所述第二子界面中具有字段选择结果。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述方法还包括:
若检测到所述第一子界面中的表选择结果发生改变,清除所述第二子界面中的字段选择结果和所述第三子界面中的定义选择结果。
7.根据权利要求2-5任一项所述的方法,其特征在于,所述方法还包括:
若检测到所述第二子界面中的表选择结果发生改变,清除所述第三子界面中的定义选择结果。
8.一种SQL语句生成装置,其特征在于,所述装置包括:
SQL子语句生成模块,用于响应于用户在预设界面上按照指定顺序做出的选取操作,生成多个汉化结构化查询语言SQL子语句,其中,所述预设界面是基于Vue框架所构建的;
处理模块,用于依据预设的英文书写顺序的处理要求,对所述多个汉化SQL子语句进行组装处理,得到汉化SQL语句;
翻译模块,用于对所述汉化SQL语句进行英文翻译处理,得到SQL语句。
9.一种电子设备,其特征在于,包括:存储器和处理器;
存储器,用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。
CN202110670309.1A 2021-06-17 2021-06-17 Sql语句生成方法、装置、电子设备及存储介质 Pending CN113326282A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110670309.1A CN113326282A (zh) 2021-06-17 2021-06-17 Sql语句生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110670309.1A CN113326282A (zh) 2021-06-17 2021-06-17 Sql语句生成方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113326282A true CN113326282A (zh) 2021-08-31

Family

ID=77423414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110670309.1A Pending CN113326282A (zh) 2021-06-17 2021-06-17 Sql语句生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113326282A (zh)

Similar Documents

Publication Publication Date Title
CN107423106B (zh) 支持多框架语法的方法和装置
CN106339384B (zh) 存储过程的转换方法及装置
CN107451240B (zh) 一种基于交互的知识图谱问答q/a***检索提升方法和装置
CN113568621A (zh) 一种页面埋点的数据处理方法和装置
CN111061452A (zh) 用户界面的语音控制方法和装置
CN113434134B (zh) 组件处理方法、装置、电子设备及存储介质
CN113010157A (zh) 一种代码生成方法及装置
CN112416751A (zh) 接口自动化测试的处理方法、装置及存储介质
CN110928854A (zh) 数据导入方法、装置及电子设备
CN113326282A (zh) Sql语句生成方法、装置、电子设备及存储介质
CN115982204A (zh) 查询语句转换方法、装置、电子设备和存储介质
CN114219443A (zh) 单据数据处理方法、装置及设备
CN112988822B (zh) 数据查询方法、装置、设备、可读存储介质以及产品
CN115729529A (zh) 信息处理方法、装置、设备及存储介质
CN114090738A (zh) 场景数据信息确定的方法、装置、设备及存储介质
CN114462410A (zh) 实体识别方法、装置、终端及存储介质
CN114691104A (zh) 一种语言转换方法、装置、电子设备及存储介质
CN112306251A (zh) 一种输入方法、装置和用于输入的装置
CN111381688B (zh) 实时转录的方法及装置、存储介质
CN111538486B (zh) 布局文件嵌套层数筛查方法、装置及电子设备
CN113778385B (zh) 组件注册方法、装置、终端及存储介质
CN112003788B (zh) 数据请求发送方法、装置、设备及介质
CN112613327B (zh) 一种信息处理方法及装置
CN115905387A (zh) 数据代码信息生成方法、装置、设备及存储介质
CN114357052A (zh) 异类数据库对象转换方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination