一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

结构化查询语句校验方法、装置、设备、介质及产品与流程

2023-02-06 21:03:40 来源:中国专利 TAG:
1.本技术涉及计算机
技术领域
:,尤其涉及一种结构化查询语句校验方法、装置、设备、介质及产品。
背景技术
::2.在大数据相关领域具有频繁的采用结构化查询语言sql语句进行数据库查询等操作的实际需求,有管理员需要输入sql语句去数据库查询相关数据或者通过sql语句执行增加,删除,修改,查询等操作。3.目前管理员通常在前端直接输入sql语句并调用后端接口,通过后端直连数据库去校验sql语句是否正确。而频繁调用接口校验sql语句,会导致后端服务器压力较大。技术实现要素:4.本技术提供一种结构化查询语句校验方法、装置、设备、介质及产品,用以解决频繁调用接口校验sql语句,导致后端服务器压力较大的问题。5.第一方面,本技术提供一种结构化查询语句校验方法,包括:6.获取结构化查询语言sql语句;7.对sql语句中的单词根据预先配置的关键字词库进行关键词匹配;8.若确定关键词匹配成功,则针对sql语句中的关键词根据预先配置的语法规则库进行语法校验。9.可选地,所述关键字词库包括首关键字词库,所述对sql语句中的单词根据预先配置的关键字词库进行关键词匹配,包括:10.对sql语句中的单词依次根据预先配置的关键字词库进行关键词匹配;若确定sql语句中存在关键词,则对sql语句中的首单词根据预先配置的首关键字词库进行首关键词匹配;所述首关键词为操作类的关键词;若确定sql语句中存在关键词且存在首关键词,则确定关键词匹配成功。11.可选地,所述关键字词库还包括次关键字词库、末关键字词库;所述针对sql语句中的关键词根据预先配置的语法规则库进行语法校验,包括:12.若根据关键字词库确定所述sql语句中不包括次关键词且不包括末关键词,则针对sql语句中的首关键词根据预先配置的语法规则库进行语法校验;所述次关键词为条件类的关键词;所述末关键词为运算类的关键字;若根据关键字词库确定所述sql语句中还包括次关键词和末关键词中的至少一个,则依次对sql语句中的首关键词、以及次关键词和末关键词中的至少一个根据预先配置的语法规则库进行语法校验。13.可选地,所述依次对sql语句中的首关键词、以及次关键词和末关键词中的至少一个根据预先配置的语法规则库进行语法校验,包括:14.将sql语句中的首关键词放入首关键字数组;将sql语句中的次关键词放入次关键字数组;将sql语句中的末关键词放入末关键词数组;根据预先配置的语法规则库确定首关键字数组中首关键词对应的语法规则列表;所述预先配置的语法规则库中包括关键字词库中关键词对应的语法规则;所述语法规则采用正则表达式预先编写;若确定sql语句符合首关键词对应的语法规则列表中的语法规则,且响应于sql语句中包括次关键词,则根据预先配置的语法规则库确定次关键词数组中次关键词对应的语法规则列表;若确定sql语句符合次关键词对应的语法规则列表中的语法规则,且响应于sql语句中包括末关键词,则根据预先配置的语法规则库确定末关键词数组中末关键词对应的语法规则列表。15.可选地,所述获取结构化查询语言sql语句,还包括:16.监听用户在sql语句输入框的输入数据,并获取用户输入的首字母;对所述输入的首字母根据预先配置的关键字词库进行关键词匹配;若匹配到关键词,则以下拉框的形式显示匹配到的关键词,以提示用户选择待输入的完整单词。17.可选地,所述关键字词库包括首关键字词库及次关键字词库,所述对sql语句中的单词根据预先配置的关键字词库进行关键词匹配之后,还包括:18.若确定sql语句中存在与关键字词库相匹配的关键词,则将sql语句中相匹配的关键词转换为大写并配置高亮显示方式;若确定sql语句中存在与首关键字词库相匹配的首关键词和/或与次关键字词库相匹配的次关键词,则根据sql语句中相匹配的首关键词和/或次关键词对sql语句进行换行操作,以使相匹配的首关键词和/或次关键词独占一行;在校验界面显示换行后的sql语句,且显示的sql语句中的关键词以大写、高亮的形式显示。19.可选地,所述若确定关键词匹配成功,则针对sql语句中的关键词根据预先配置的语法规则库进行语法校验后,还包括:20.若确定语法校验通过,则将所述sql语句发送至后端数据库,以使后端数据库按所述sql语句执行并返回执行结果。21.第二方面,本技术提供一种结构化查询语句校验装置,包括:22.获取模块,用于获取结构化查询语言sql语句;23.匹配模块,用于对sql语句中的单词根据预先配置的关键字词库进行关键词匹配;24.校验模块,用于若确定关键词匹配成功,则针对sql语句中的关键词根据预先配置的语法规则库进行语法校验。25.第三方面,本技术提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;26.所述处理器,所述存储器之间电路互连;27.所述存储器存储计算机执行指令;28.所述处理器执行所述存储器存储的计算机执行指令,以实现上述任一方面所述的结构化查询语句校验方法。29.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述任一方面所述的结构化查询语句校验方法。30.第五方面,本技术提供一种计算机程序产品,包括计算机执行指令,该计算机执行指令被处理器执行时实现上述任一方面所述的结构化查询语句校验方法。31.本技术提供的结构化查询语句校验方法、装置、设备、介质及产品,获取结构化查询语言sql语句;对sql语句中的单词根据预先配置的关键字词库进行关键词匹配;若确定关键词匹配成功,则针对sql语句中的关键词根据预先配置的语法规则库进行语法校验。由于可执行的sql语句中均包括关键词,通过关键词匹配可以快速确定缺失关键词的sql语句,确定该缺失关键词的sql语句校验不通过,结束对该sql语句的校验,提高校验速度;在确定关键词匹配成功后,针对sql语句中的关键词根据预先配置的语法规则库进行语法校验,可以从语法规则库中筛选出与sql语句的关键词具有关联的语法规则,无需遍历语法规则库中的所有语法规则对sql语句进行语法校验,可以节省对sql语句进行校验的时间;并且采用结构化查询语句校验方法对sql语句进行校验,可以在sql语句校验不通过时不调用后端接口,减少调用后端接口的次数,减少后端服务器的压力。附图说明32.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。33.图1为本技术的一种网络架构示意图;34.图2为本技术实施例一提供的结构化查询语句校验方法流程图;35.图3为本技术实施例四提供的一种结构化查询语句校验方法流程图;36.图4为本技术实施例提供的输入提示示意图;37.图5为本技术实施例提供的校验界面示意图;38.图6为本技术实施例五提供的结构化查询语句校验装置的结构示意图;39.图7为本技术实施例六提供的电子设备的结构示意图。40.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。具体实施方式41.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。42.术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。43.首先对本发明所涉及的现有技术进行详细说明及分析。44.目前管理员通常在前端直接输入sql语句后,调用后端接口直连后端数据库,采用后端数据库执行sql语句从而校验sql语句是否正确。45.目前的常用手段为无论sql语句是否正确均直接调用后端接口直连后端数据库,而频繁调用接口校验并执行sql语句,会导致后端服务器压力较大。发明人在研究中发现,在调用后端接口直连后端数据库之前,先采用前端对sql语句进行校验,可以在sql语句明显错误时不调用后端接口,减少调用后端接口的次数,减少后端服务器的压力。所以本技术提供一种结构化查询语句校验方法,在获取结构化查询语言sql语句后,对sql语句中的单词根据预先配置的关键字词库进行关键词匹配;若确定关键词匹配成功,则针对sql语句中的关键词根据预先配置的语法规则库进行语法校验。46.图1为本技术的一种网络架构示意图,如图所示,包括电子设备1及后端数据库2;电子设备1在获取结构化查询语言sql语句后,可以执行结构化查询语句校验方法;电子设备1对sql语句的校验通过后,通过调用后端接口将通过校验的sql语句发送至后端数据库2,以使后端数据库2执行通过校验的sql语句;后端数据库2执行完通过校验的sql语句后将执行结果返回至电子设备1。47.本技术的技术方案中,所涉及的金融数据或用户数据等信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。48.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。49.实施例一50.图2为本技术实施例一提供的结构化查询语句校验方法流程图,本技术实施例针对频繁调用接口校验sql语句,导致后端服务器压力较大的问题,提供了结构化查询语句校验方法。本实施例中的方法应用于结构化查询语句校验装置,结构化查询语句校验装置可以位于电子设备中。其中,电子设备可以为表示各种形式的数字计算机。诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。51.如图2所示,该方法具体步骤如下:52.步骤s101、获取结构化查询语言sql语句。53.本技术实施例不限制获取结构化查询语言sql语句的方式,示例性地,可以获取用户在sql语句输入框输入的sql语句、还可以获取存储于某一存储空间中的sql语句等。54.本技术实施例中,在获取sql语句后,可以对该sql语句进行语句校验;在确定对该sql语句的语句校验通过后,可以执行调用后端接口校验并执行sql语句的步骤。55.步骤s102、对sql语句中的单词根据预先配置的关键字词库进行关键词匹配。56.本技术实施例中,预先配置的关键字词库中包括多个关键词,关键词为sql语句中的标准指令词,例如select、update、add、where、as等;定义的表名、字段名、数值等为非关键词。57.具体地,可以通过在预先配置的关键字词库中查找sql语句中的所有单词的方式进行关键词匹配;若确定关键词匹配成功,则执行在步骤s103进行sql语句语法的校验;若确定关键词匹配失败,则对该sql语句的校验完成,对该sql语句的校验不通过。58.示例性地,若确定关键词匹配失败,则可以显示关键词匹配失败提示信息,以提示用户重新输入sql语句,使更新后的sql语句中存在关键词。59.步骤s103、若确定关键词匹配成功,则针对sql语句中的关键词根据预先配置的语法规则库进行语法校验。60.本技术实施例中,预先配置的语法规则库包括多个关键词对应的语法规则。应理解的是,可以更新预先配置的语法规则库,在预先配置的语法规则库中增加关键词对应的语法规则。61.具体地,在确定关键词匹配成功后,可以从预先配置的语法规则库中确定sql语句中的关键词对应的语法规则;若确定预先配置的语法规则库中不存在sql语句中的关键词对应的语法规则,则确定对sql语句的校验通过;若确定预先配置的语法规则库中存在sql语句中的关键词对应的语法规则,则确定sql语句是否符合该语法规则;在确定sql语句是否符合该语法规则后,若确定sql语句符合该语法规则,则确定对sql语句的校验通过;若确定sql语句不符合该语法规则,则确定对sql语句的校验不通过。62.本技术实施例提供的结构化查询语句校验方法,在获取结构化查询语言sql语句后,对sql语句中的单词根据预先配置的关键字词库进行关键词匹配;若确定关键词匹配成功,则针对sql语句中的关键词根据预先配置的语法规则库进行语法校验。由于可执行的sql语句中均包括关键词,通过关键词匹配可以快速确定缺失关键词的sql语句,确定该缺失关键词的sql语句校验不通过,结束对该sql语句的校验,提高校验速度;在确定关键词匹配成功后,针对sql语句中的关键词根据预先配置的语法规则库进行语法校验,可以从语法规则库中筛选出与sql语句的关键词具有关联的语法规则,无需遍历语法规则库中的所有语法规则对sql语句进行语法校验,可以节省对sql语句进行校验的时间;并且采用结构化查询语句校验方法对sql语句进行校验,可以在sql语句校验不通过时不调用后端接口,减少调用后端接口的次数,减少后端服务器的压力。63.可选地,在确定对sql语句的校验完成后,可以显示sql语句校验结果,以使用户确定对sql语句校验通过或不通过。64.可选地,若确定语法校验通过,则将sql语句发送至后端数据库,以使后端数据库按sql语句执行并返回执行结果。65.具体地,在确定对sql语句的校验完成后,若用户确定点击发送控件,则响应于用户对发送控件的触发操作,通过调用后端接口将sql语句发送至后端数据库;后端数据库在接收到sql语句后执行该sql语句;若执行成功,则返回sql语句的执行结果,例如数据库查询结果;若执行失败,则可以返回sql语句错误信息。66.本技术实施例提供的结构化查询语句校验方法,在确定语法校验通过后将sql语句发送至后端数据库,以使后端数据库按sql语句执行并返回执行结果;可以增加sql语句执行成功的比例,一定程度上避免执行错误的sql语句,可以减少后端服务器的压力。67.实施例二68.在上述实施例的基础上,本实施例涉及的是对步骤s102对sql语句中的单词根据预先配置的关键字词库进行关键词匹配的一种实现方式的细化,具体包括以下步骤:69.步骤s201、对sql语句中的单词依次根据预先配置的关键字词库进行关键词匹配。70.具体地,依次在预先配置的关键字词库中查找sql语句中的单词;若在预先配置的关键字词库中查找到sql语句中的某单词,则执行步骤s202确定sql语句中是否存在首关键词;若在预先配置的关键字词库中未查找到sql语句中的任一单词,则确定关键词匹配失败。71.可选地,若在预先配置的关键字词库中未查找到sql语句中的任一单词,则可以显示sql语句中不存在关键词的提示信息。72.步骤s202、若确定sql语句中存在关键词,则对sql语句中的首单词根据预先配置的首关键字词库进行首关键词匹配。73.其中,首关键词为操作类的关键词,且符合语法的sql语句中句首。例如,select、create、alter等。应理解的是,首单词位于sql语句句首,符合语法的sql语句中首单词为首关键词。74.本技术实施例中,确定sql语句中存在关键词后,可以获取位于sql语句句首的首单词,在首关键字词库中查找该首单词;若查找到该首单词,则步骤s203确定关键词匹配成功;若未查找到该首单词,则确定关键词匹配失败,sql语句的校验不通过。75.可选地,若未查找到该首单词,则可以显示sql语句中不存在首关键词的提示信息。76.步骤s203、若确定sql语句中存在关键词且存在首关键词,则确定关键词匹配成功。77.本技术实施例中,若确定sql语句中存在关键词且存在首关键词,则可以确定关键词匹配成功;若确定sql语句中不存在关键词或不存在首关键词,则可以确定关键词匹配失败。78.本技术实施例提供的结构化查询语句校验方法,对sql语句中的单词依次根据预先配置的关键字词库进行关键词匹配;若确定sql语句中存在关键词,则对sql语句中的首单词根据预先配置的首关键字词库进行首关键词匹配;首关键词为操作类的关键词;若确定sql语句中存在关键词且存在首关键词,则确定关键词匹配成功。由于可执行的sql语句中均包括关键词,且包括首关键词,通过判断sql语句是否缺失关键词或缺失首关键词,可以提高关键词匹配的准确率。79.实施例三80.在上述实施例的基础上,本实施例涉及的是对步骤s103若确定关键词匹配成功,则针对sql语句中的关键词根据预先配置的语法规则库进行语法校验的一种实现方式的细化,具体包括以下步骤:81.步骤s301、根据关键字词库确定sql语句中是否不包括次关键词且不包括末关键词。82.本技术实施例中,关键字词库可以包括首关键词库、次关键字词库、末关键字词库;具体可以根据关键词的具体应用频率和重要程度预先配置。示例性地,次关键字词库中可以包括为条件类的关键词,例如where等;末关键字词库中可以包括为运算类的关键字,例如and等。83.具体地,在确定关键词匹配成功后,根据次关键字词库确定sql语句中是否不包括次关键词,根据末关键字词库确定sql语句中是否不包括末关键词;若确定sql语句中是否不包括次关键词且不包括末关键词,则执行步骤s302仅针对sql语句中的首关键词进行语法校验;若确定sql语句中是否包括次关键词和/或包括末关键词,则执行步骤s303依次对sql语句中的首关键词、以及次关键词和/或末关键词进行语法校验。84.步骤s302、若根据关键字词库确定sql语句中不包括次关键词且不包括末关键词,则针对sql语句中的首关键词根据预先配置的语法规则库进行语法校验。85.步骤s303、若根据关键字词库确定sql语句中还包括次关键词和末关键词中的至少一个,则依次对sql语句中的首关键词、以及次关键词和末关键词中的至少一个根据预先配置的语法规则库进行语法校验。86.本技术实施例中,对sql语句中的首关键词根据预先配置的语法规则库进行语法校验的方法为:从预先配置的语法规则库中确定sql语句中首关键词对应的语法规则;确定sql语句是否符合首关键词对应的语法规则;若符合首关键词对应的语法规则,则确定对sql语句首关键词的校验通过,若sql语句中还包括次关键词和末关键词中的至少一个,可以进行对次关键词和/或末关键词的语法校验;若不符合首关键词对应的语法规则,则确定对sql语句首关键词的语法校验不通过。87.应理解的是,对sql语句中的次关键词和/或末关键词根据预先配置的语法规则库进行语法校验的方法与对sql语句中的首关键词根据预先配置的语法规则库进行语法校验的方法类似,在此不再一一赘述。88.可选地,可以以自然语言的形式提示用户语法校验不通过的原因。例如,首关键词对应的语法规则为首关键字词库中的首关键词互斥,而获取的sql语句中包括多个首关键词,则可以显示select,insert,delete,update首关键词为互斥,以提示用户语法校验不通过的原因为sql语句中包括多个首关键词。其中,select,insert,delete,update为首关键字词库中的首关键词。89.本技术实施例提供的结构化查询语句校验方法,若根据关键字词库确定sql语句中不包括次关键词且不包括末关键词,则针对sql语句中的首关键词根据预先配置的语法规则库进行语法校验;次关键词为条件类的关键词;末关键词为运算类的关键字;若根据关键字词库确定sql语句中还包括次关键词和末关键词中的至少一个,则依次对sql语句中的首关键词、以及次关键词和末关键词中的至少一个根据预先配置的语法规则库进行语法校验。可以先针对较为重要的关键词进行语法校验,可以先识别出较为重要的语法错误,以提示用户对sql语句进行修改,可以减少用户修改sql语句的次数。90.可选地,依次对sql语句中的首关键词、以及次关键词和末关键词中的至少一个根据预先配置的语法规则库进行语法校验,可以包括以下步骤:91.步骤s3031、将sql语句中的首关键词放入首关键字数组;将sql语句中的次关键词放入次关键字数组;将sql语句中的末关键词放入末关键词数组。92.本技术实施例中,首关键字数组用于存放sql语句中的首关键词;次关键字数组用于存放sql语句中的次关键词;末关键词数组用于存放sql语句中的末关键词。93.本技术实施例中,若确定sql语句中包括次关键词和末关键词中的至少一个,则可以将sql语句中的首关键词放入首关键字数组;将sql语句中的次关键词放入次关键字数组;将sql语句中的末关键词放入末关键词数组。应理解的是,若sql语句中不包括次关键词则次关键字数组可以为空;若sql语句中不包括末关键词则末关键字数组可以为空。94.步骤s3032、根据预先配置的语法规则库确定首关键字数组中首关键词对应的语法规则列表。95.其中,预先配置的语法规则库中包括关键字词库中关键词对应的语法规则;语法规则采用正则表达式预先编写。96.本技术实施例中,在获取首关键字数组、次关键字数组、末关键字数组后,根据预先配置的语法规则库确定首关键字数组中首关键词对应的语法规则列表,并确定sql语句是否符合首关键词对应的语法规则列表中的语法规则;若确定sql语句符合首关键词对应的语法规则列表中的语法规则,则对sql语句首关键词的语法校验通过,执行步骤s3033;若确定sql语句不符合首关键词对应的语法规则列表中的语法规则,则确定对sql语句的语法校验不通过。97.步骤s3033、若确定sql语句符合首关键词对应的语法规则列表中的语法规则,且响应于sql语句中包括次关键词,则根据预先配置的语法规则库确定次关键词数组中次关键词对应的语法规则列表。98.本技术实施例中,在确定对sql语句首关键词的语法校验通过后,根据预先配置的语法规则库确定次关键词数组中次关键词对应的语法规则列表,并确定sql语句是否符合次关键词对应的语法规则列表中的语法规则;若确定sql语句符合次关键词对应的语法规则列表中的语法规则,则对sql语句次关键词的语法校验通过,执行步骤s3034;若确定sql语句不符合次关键词对应的语法规则列表中的语法规则,则确定对sql语句的语法校验不通过。99.步骤s3034、若确定sql语句符合次关键词对应的语法规则列表中的语法规则,且响应于sql语句中包括末关键词,则根据预先配置的语法规则库确定末关键词数组中末关键词对应的语法规则列表。100.本技术实施例中,在确定对sql语句首关键词、次关键词的语法校验通过后,根据预先配置的语法规则库确定次关键词数组中末关键词对应的语法规则列表,并确定sql语句是否符合末关键词对应的语法规则列表中的语法规则;若确定sql语句符合末关键词对应的语法规则列表中的语法规则,则对sql语句末关键词的语法校验通过,进一步地,可以确定对sql语句的语法校验通过;若确定sql语句不符合末关键词对应的语法规则列表中的语法规则,则确定对sql语句的语法校验不通过。101.本技术实施例提供的结构化查询语句校验方法,将sql语句中的首关键词放入首关键字数组;将sql语句中的次关键词放入次关键字数组;将sql语句中的末关键词放入末关键词数组;根据预先配置的语法规则库确定首关键字数组中首关键词对应的语法规则列表;预先配置的语法规则库中包括关键字词库中关键词对应的语法规则;语法规则采用正则表达式预先编写;若确定sql语句符合首关键词对应的语法规则列表中的语法规则,且响应于sql语句中包括次关键词,则根据预先配置的语法规则库确定次关键词数组中次关键词对应的语法规则列表;若确定sql语句符合次关键词对应的语法规则列表中的语法规则,且响应于sql语句中包括末关键词,则根据预先配置的语法规则库确定末关键词数组中末关键词对应的语法规则列表。可以实现对sql语句中的首关键词、以及次关键词和末关键词对应语法的依次校验,可以先识别出较为重要的语法错误,以提示用户对sql语句进行修改,可以减少用户修改sql语句的次数;且由于正则表达式具有灵活性、逻辑性和功能性强,可以迅速地用极简单的方式达到字符串的复杂控制的特点,因此语法规则采用正则表达式预先编写可以提高语法校验的准确性。102.实施例四103.下面结合一个具体的示例对上述实施例提供的结构化查询语句校验方法进行说明,图3为本技术实施例四提供的一种结构化查询语句校验方法流程图,如图3所示,包括以下步骤:104.s1、获取用户在sql语句输入框输入的sql语句。105.可选地,一种获取用户在sql语句输入框输入的sql语句的方式为:监听用户在sql语句输入框的输入数据,并获取用户输入的首字母;对输入的首字母根据预先配置的关键字词库进行关键词匹配;若匹配到关键词,则以下拉框的形式显示匹配到的关键词,以提示用户选择待输入的完整单词。106.本技术实施例中,获取用户输入的首字母的方式可以为,若监听到用户输入空格,则获取用户输入空格后输入的第一个字母,将该字母确定为首字母。107.图4为本技术实施例提供的输入提示示意图,示例性地,如图4所示,提示用户输入的方式具体可以为:若监听到用户输入的首字母为s,则匹配关键字词库中首字母为s的关键词,可以以下拉框的形式显示匹配到的关键词select及set;若确定用户选择下拉框中的select,则将输入框中s补充为select。108.本技术实施例提供的结构化查询语句校验方法,监听用户在sql语句输入框的输入数据,并获取用户输入的首字母;对输入的首字母根据预先配置的关键字词库进行关键词匹配;若匹配到关键词,则以下拉框的形式显示匹配到的关键词,以提示用户选择待输入的完整单词。可以避免用户的拼写错误造成的sql语句的错误,降低sql语句校验次数,进一步地提高执行sql语句的效率。109.s2、对获取的sql语句进行格式化。110.可选地,一种对获取的sql语句进行格式化的方法包括:111.s21、若确定sql语句中存在与关键字词库相匹配的关键词,则将sql语句中相匹配的关键词转换为大写并配置高亮显示方式。112.s22、若确定sql语句中存在与首关键字词库相匹配的首关键词和/或与次关键字词库相匹配的次关键词,则根据sql语句中相匹配的首关键词和/或次关键词对sql语句进行换行操作,以使相匹配的首关键词和/或次关键词独占一行。113.s23、在校验界面显示换行后的sql语句,且显示的sql语句中的关键词以大写、高亮的形式显示。114.本技术实施例不限制配置高亮显示的方式。示例性地,可以令关键词加粗显示,也可以令关键词改变颜色显示,还可以改变关键词的底色等,本技术实施例对此不做限定。115.图5为本技术实施例提供的校验界面示意图;如图5,获取的sql语句为:select*fromtable_basb,table_cascwherea.id=1,对获取的sql语句进行格式化后,如图5所示在校验界面显示换行后的sql语句。显示的sql语句中的关键词select、from、as、where以大写、高亮的形式显示,且首关键词select和次关键词from、where独占一行。116.如图5所示,校验界面可以提供校验控件,在确定用户触发控件后,可以执行步骤s3及后续步骤,以对sql语句进行校验,并在校验界面上方显示校验结果,例如校验结果为通过可以显示对钩,校验结果为不通过可以显示感叹号。若校验结果为不通过,还可以以自然语言显示校验不通过对应的提示信息。117.本技术实施例提供的结构化查询语句校验方法,若确定sql语句中存在与关键字词库相匹配的关键词,则将sql语句中相匹配的关键词转换为大写并配置高亮显示方式;若确定sql语句中存在与首关键字词库相匹配的首关键词和/或与次关键字词库相匹配的次关键词,则根据sql语句中相匹配的首关键词和/或次关键词对sql语句进行换行操作,以使相匹配的首关键词和/或次关键词独占一行;在校验界面显示换行后的sql语句,且显示的sql语句中的关键词以大写、高亮的形式显示。可以更清楚的显示sql语句的结构,以方便用户对sql语句进行修改。118.s3、对sql语句进行关键词匹配。若关键词匹配成功,则执行步骤s4;若关键词匹配失败,则对sql语句的校验不通过,执行步骤s6显示sql语句的校验结果。119.s4、对sql语句进行语法校验。若语法校验通过,则可以执行步骤s5;若语法校验不通过,则对sql语句的校验不通过,执行步骤s6显示sql语句的校验结果。120.s5、将sql语句发送至后端数据库。121.具体地,在确定语法校验通过后,将上述前端校验通过后,则调用后端接口以连接后端数据库;后端数据库执行sql语句,若可以正常执行则返回sql查询或者执行结果,若执行错误,则返回连接数据库具体错误信息。122.s6、显示sql语句的校验结果或执行结果。123.具体地,在接收到sql语句的校验结果或执行结果,可以显示sql语句的校验结果或执行结果。124.实施例五125.图6为本技术实施例五提供的结构化查询语句校验装置的结构示意图。本技术实施例提供的结构化查询语句校验装置可以执行结构化查询语句校验方法实施例提供的处理流程。如图6所示,该结构化查询语句校验装置60包括:获取模块601,匹配模块602,校验模块603。126.具体地,获取模块601,用于获取结构化查询语言sql语句;127.匹配模块602,用于对sql语句中的单词根据预先配置的关键字词库进行关键词匹配;128.校验模块603,用于若确定关键词匹配成功,则针对sql语句中的关键词根据预先配置的语法规则库进行语法校验。129.本技术实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。130.可选地,匹配模块602,具体用于对sql语句中的单词依次根据预先配置的关键字词库进行关键词匹配;若确定sql语句中存在关键词,则对sql语句中的首单词根据预先配置的首关键字词库进行首关键词匹配;首关键词为操作类的关键词;若确定sql语句中存在关键词且存在首关键词,则确定关键词匹配成功。131.可选地,关键字词库还包括次关键字词库、末关键字词库;校验模块603,具体用于:若根据关键字词库确定sql语句中不包括次关键词且不包括末关键词,则针对sql语句中的首关键词根据预先配置的语法规则库进行语法校验;次关键词为条件类的关键词;末关键词为运算类的关键字;若根据关键字词库确定sql语句中还包括次关键词和末关键词中的至少一个,则依次对sql语句中的首关键词、以及次关键词和末关键词中的至少一个根据预先配置的语法规则库进行语法校验。132.可选地,校验模块603,具体用于:将sql语句中的首关键词放入首关键字数组;将sql语句中的次关键词放入次关键字数组;将sql语句中的末关键词放入末关键词数组;根据预先配置的语法规则库确定首关键字数组中首关键词对应的语法规则列表;预先配置的语法规则库中包括关键字词库中关键词对应的语法规则;语法规则采用正则表达式预先编写;若确定sql语句符合首关键词对应的语法规则列表中的语法规则,且响应于sql语句中包括次关键词,则根据预先配置的语法规则库确定次关键词数组中次关键词对应的语法规则列表;若确定sql语句符合次关键词对应的语法规则列表中的语法规则,且响应于sql语句中包括末关键词,则根据预先配置的语法规则库确定末关键词数组中末关键词对应的语法规则列表。133.可选地,获取模块601,具体用于监听用户在sql语句输入框的输入数据,并获取用户输入的首字母;对输入的首字母根据预先配置的关键字词库进行关键词匹配;若匹配到关键词,则以下拉框的形式显示匹配到的关键词,以提示用户选择待输入的完整单词。134.可选地,结构化查询语句校验装置60还包括:格式转换模块;格式转换模块用于:若确定sql语句中存在与关键字词库相匹配的关键词,则将sql语句中相匹配的关键词转换为大写并配置高亮显示方式;若确定sql语句中存在与首关键字词库相匹配的首关键词和/或与次关键字词库相匹配的次关键词,则根据sql语句中相匹配的首关键词和/或次关键词对sql语句进行换行操作,以使相匹配的首关键词和/或次关键词独占一行;在校验界面显示换行后的sql语句,且显示的sql语句中的关键词以大写、高亮的形式显示。135.可选地,结构化查询语句校验装置60还包括:发送模块;发送模块用于:若确定语法校验通过,则将sql语句发送至后端数据库,以使后端数据库按sql语句执行并返回执行结果。136.本技术实施例提供的装置可以具体用于执行上述方法实施例,具体功能此处不再赘述。137.实施例六138.图7为本技术实施例六提供的电子设备的结构示意图,如图7所示,本技术还提供了一种电子设备70,包括:存储器701、处理器702。139.其中,存储器701用于存储计算机执行指令,处理器702,存储器701之间电路互连。具体地,程序可以包括程序代码,程序代码包括计算机执行指令。存储器701可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。140.处理器702,用于执行存储器701存放的存放计算机执行指令。141.其中,计算机执行指令存储在存储器701中,并被配置为由处理器702执行以实现本技术任意一个实施例提供的方法。相关说明可以对应参见附图中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。142.其中,本技术实施例中,存储器701和处理器702通过总线连接。总线可以是工业标准体系结构(industrystandardarchitecture,简称为isa)总线、外部设备互连(peripheralcomponentinterconnect,简称为pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。143.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现本技术任意一个实施例提供的方法。144.本技术实施例还提供一种计算机程序产品,包括计算机执行指令,计算机执行指令被处理器执行时实现本技术任意一个实施例提供的方法。145.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。146.作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。147.另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。148.用于实施本技术的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程全路径轨迹融合装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。149.在本技术的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。150.此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本技术的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。151.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本
技术领域
:中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。152.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献