一种生成SQL语句的方法、装置、设备及可读存储介质与流程

文档序号:33711485发布日期:2023-04-01 00:03阅读:62来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
一种生成SQL语句的方法、装置、设备及可读存储介质与流程
一种生成sql语句的方法、装置、设备及可读存储介质
技术领域
1.本发明实施例涉及计算机技术领域,尤其涉及一种生成sql语句的方法、装置、设备及可读存储介质。


背景技术:

2.目前,相关技术中,在生成sql语句时,多采用随机生成数据的方式,并将随机生成的数据拼成sql语句。但随机生成的数据之间不具备逻辑性,对于某些特定的场景下,随机生成的数据无法适用,不能满足用户的需求。
3.因此,如何使得生成的sql语句可针对性地适用于特定的场景,进而满足用户的需求,成为亟待解决的技术问题。


技术实现要素:

4.本发明实施例提供一种生成sql语句的方法、装置、设备及可读存储介质,以解决相关技术中,随机生成的sql语句无法适用于特定的应用场景,不能满足用户需求的技术问题。
5.为了解决上述技术问题,本发明是这样实现的:第一方面,本发明实施例提供一种生成sql语句的方法,所述方法包括:接收用户输入的基准语句;其中,所述基准语句为根据待执行业务而编写的语句;解析所述基准语句,以得到基准字段;将所述基准字段与预设的样本库中的样本名称进行匹配,得到匹配结果;其中,所述样本库为根据所述待执行业务而创建的样本库;所述样本库至少包括以下一项:所述样本名称、与所述样本名称对应的样本值集合;根据所述匹配结果对所述基准字段赋予所述样本值集合;根据所述基准语句中所述基准字段的排列顺序,将赋值后的基准字段按所述排列顺序进行排列,以生成sql语句。
6.优选地,将所述基准字段与预设的样本库中的样本名称进行匹配,得到匹配结果包括:将每个基准字段分别与所述样本库中的样本名称进行匹配;若所述样本库中存在与所述基准字段的字段名相同的样本名称,则所述基准字段的匹配结果为匹配成功;若所述样本库中不存在与所述基准字段的字段名相同的样本名称,则所述基准字段的匹配结果为匹配失败。
7.优选地,在所述基准字段的匹配结果为匹配失败之后,所述方法还包括:发出提示信息;其中,所述提示信息用于提示所述用户向所述样本库中添加新的样本名称,所述新的样本名称与匹配结果为匹配失败的基准字段的字段名相同,以更新所述样本库;
将匹配失败的基准字段与更新后的样本库进行匹配,得到匹配结果。
8.优选地,根据所述匹配结果对所述基准字段赋予所述样本值集合包括:将所述样本名称所对应的样本值集合中的每一个值,分别作为与所述样本名称相匹配的基准字段的值。
9.优选地,在根据所述基准语句中所述基准字段的排列顺序,将赋值后的基准字段按所述排列顺序进行排列,以生成sql语句之后,所述方法还包括:运行所述sql语句;根据所述sql语句的运行结果确定命中数据和/或非命中数据;其中,所述命中数据为执行所述待执行业务所需的有效数据,所述非命中数据为无效数据。
10.优选地,所述方法还包括:根据所述待执行业务确定所述样本名称和与所述样本名称对应的所述样本值集合;根据所述样本名称和所述样本值集合创建所述样本库。
11.第二方面,本发明实施例提供一种生成sql语句的装置,所述装置包括:接收模块,用于接收用户输入的基准语句;其中,所述基准语句为根据待执行业务而编写的语句;解析模块,用于解析所述基准语句,以得到基准字段;匹配模块,用于将所述基准字段与预设的样本库中的样本名称进行匹配,得到匹配结果;其中,所述样本库为根据所述待执行业务而创建的样本库;所述样本库至少包括以下一项:所述样本名称、与所述样本名称对应的样本值集合;赋值模块,用于根据所述匹配结果对所述基准字段赋予所述样本值集合;生成模块,用于根据所述基准语句中所述基准字段的排列顺序,将赋值后的基准字段按所述排列顺序进行排列,以生成sql语句。
12.优选地,所述匹配模块,还用于将每个基准字段分别与所述样本库中的样本名称进行匹配;若所述样本库中存在与所述基准字段的字段名相同的样本名称,则所述基准字段的匹配结果为匹配成功;若所述样本库中不存在与所述基准字段的字段名相同的样本名称,则所述基准字段的匹配结果为匹配失败。
13.优选地,所述装置还包括:提示模块,用于在所述基准字段的匹配结果为匹配失败之后,发出提示信息;其中,所述提示信息用于提示所述用户向所述样本库中添加新的样本名称,所述新的样本名称与匹配结果为匹配失败的基准字段的字段名相同,以更新所述样本库;所述匹配模块,还用于将匹配失败的基准字段与更新后的样本库进行匹配,得到匹配结果。
14.优选地,赋值模块,还用于将所述样本名称所对应的样本值集合中的每一个值,分别作为与所述样本名称相匹配的基准字段的值。
15.优选地,所述装置还包括:
运行模块,用于在根据所述基准语句中所述基准字段的排列顺序,将赋值后的基准字段按所述排列顺序进行排列,以生成sql语句之后,运行所述sql语句;确定模块,用于根据所述sql语句的运行结果确定命中数据和/或非命中数据;其中,所述命中数据为执行所述待执行业务所需的有效数据,所述非命中数据为无效数据。
16.优选地,所述确定模块,还用于根据所述待执行业务确定所述样本名称和与所述样本名称对应的所述样本值集合;所述装置还包括:创建模块,用于根据所述样本名称和所述样本值集合创建所述样本库。
17.第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第一方面所述的生成sql语句的方法的步骤。
18.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的生成sql语句的方法的步骤。
19.在本发明实施例中,根据待执行业务预先设置了样本库,样本库中包括样本名称和与样本名称对应的样本值集合,利用样本名称与基准字段的匹配关系来对基准字段进行赋值,并将赋值后的基准字段按顺序拼成sql语句。由此,以预设的样本库为基准所生成的sql语句不再是随机且无序的,且所生成的sql语句中的字段顺序和字段的值,可针对性地满足不同应用场景下,待执行业务的需求。
附图说明
20.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本发明实施例提供的一种生成sql语句的方法的流程图;图2为本发明实施例提供的一种样本库的示意图;图3为本发明实施例提供的一种生成sql语句的装置的结构框图;图4为本发明实施例提供的一种电子设备的结构框图。
具体实施方式
21.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
22.图1示出了根据本发明实施例所示的一种生成sql语句的方法,如图1所示,该方法包括:步骤s101、接收用户输入的基准语句;步骤s102、解析基准语句,以得到基准字段;
步骤s103、将基准字段与预设的样本库中的样本名称进行匹配,得到匹配结果;步骤s104、根据匹配结果对基准字段赋予样本值集合;步骤s105、根据基准语句中基准字段的排列顺序,将赋值后的基准字段按排列顺序进行排列,以生成sql语句。
23.在步骤s101中,基准语句包括但不限于sql语句,基准语句为用户根据待执行业务而编写的语句,用户可通过字符键入等方式进行输入。
24.在步骤s102中,可对基准语句进行解析,即拆分基准语句,得到组成基准语句的基准字段。其中,基准字段可以是查询字段和/或条件字段。
25.在步骤s103中,需将基准字段与预设的样本库中的样本名称进行匹配,得到匹配结果。其中,样本库为根据待执行业务而创建的样本库,示例性的:可根据待执行业务确定样本名称和与样本名称对应的样本值集合,并根据样本名称和样本值集合创建样本库。样本库至少包括以下一项:样本名称、与样本名称对应的样本值集合,如图2所示,样本库还可以包括样本说明和创建日期。用户可根据实际情况实时或定期更新样本库,例如:可在显示页面上点击“新增”图标,来对样本库进行更新;也可根据实际情况针对不同的待执行业务而创建不同的样本库。且步骤s103中的匹配结果包括匹配成功或匹配失败。
26.在一种可能的实现方式中,将基准字段与预设的样本库中的样本名称进行匹配,得到匹配结果包括:将每个基准字段分别与样本库中的样本名称进行匹配;若样本库中存在与基准字段的字段名相同的样本名称,则基准字段的匹配结果为匹配成功;若样本库中不存在与基准字段的字段名相同的样本名称,则基准字段的匹配结果为匹配失败。以图2所示样本库为例,若某一基准字段为amount,则该基准字段与图2所示的样本库中的amount(样本名称)匹配成功。
27.在一种可能的实现方式中,在基准字段的匹配结果为匹配失败之后,方法还包括:发出提示信息;其中,提示信息用于提示用户向样本库中添加新的样本名称,新的样本名称与匹配结果为匹配失败的基准字段的字段名相同,以更新样本库;将匹配失败的基准字段与更新后的样本库进行匹配,得到匹配结果。
28.可以理解的是,若样本库中不存在与基准字段的字段名相同的样本名称,则基准字段的匹配结果为匹配失败,则可以根据实际需要,对样本库进行更新,在更新后,可再次将匹配失败的基准字段与更新后的样本库进行匹配,得到匹配结果,以保障最终生成sql语句的准确性。且提示信息可通过语音(响铃报警)、文字等方式输出。
29.在步骤s104中,需根据匹配结果对基准字段赋予样本值集合,即:将样本名称所对应的样本值集合中的每一个值,分别作为与样本名称相匹配的基准字段的值,以图2所示的样本库为例,可将type这一样本名称所对应的样本值集合中的-1、0、1、2、3、4、5分别赋值给type这一基准字段。
30.在一种可能的实现方式中,在样本值集合中还可设置逆向值,逆向值可用于异常测试。
31.在步骤s105中,需根据基准语句中基准字段的排列顺序,将赋值后的基准字段按排列顺序进行排列,以生成sql语句。由于每个基准字段均可按与其所匹配的样本名称所对应的样本值集合进行多次赋值,因此,可生成大量的满足待执行业务需求的sql语句。且优选地,该sql语句为install语句。
32.在一种可能的实现方式中,在根据基准语句中基准字段的排列顺序,将赋值后的基准字段按排列顺序进行排列,以生成sql语句之后,方法还包括:运行sql语句;根据sql语句的运行结果确定命中数据和/或非命中数据;其中,命中数据为执行待执行业务时,所需的有效数据,非命中数据为无效数据。其中,非命中数据所对应的sql语句中,基准字段的取值为样本值集合中的逆向值,逆向值可用于异常测试。但针对于待执行业务来说,非命中数据为无效数据。
33.本发明实施例中,根据待执行业务预先设置了样本库,样本库中包括样本名称和与样本名称对应的样本值集合,利用样本名称与基准字段的匹配关系来对基准字段进行赋值,并将赋值后的基准字段按顺序拼成sql语句。由此,以预设的样本库为基准所生成的sql语句不再是随机且无序的,且所生成的sql语句中的字段顺序和字段的值,可针对性地满足不同应用场景下,待执行业务的需求。
34.图3示出了根据本发明实施例的一种生成sql语句的装置30,装置30包括:接收模块301,用于接收用户输入的基准语句;其中,基准语句为根据待执行业务而编写的语句;解析模块302,用于解析基准语句,以得到基准字段;匹配模块303,用于将基准字段与预设的样本库中的样本名称进行匹配,得到匹配结果;其中,样本库为根据待执行业务而创建的样本库;样本库至少包括以下一项:样本名称、与样本名称对应的样本值集合;赋值模块304,用于根据匹配结果对基准字段赋予样本值集合;生成模块305,用于根据基准语句中基准字段的排列顺序,将赋值后的基准字段按排列顺序进行排列,以生成sql语句。
35.在一种可能的实现方式中,匹配模块303,还用于将每个基准字段分别与样本库中的样本名称进行匹配;若样本库中存在与基准字段的字段名相同的样本名称,则基准字段的匹配结果为匹配成功;若样本库中不存在与基准字段的字段名相同的样本名称,则基准字段的匹配结果为匹配失败。
36.在一种可能的实现方式中,装置30还包括:提示模块,用于在基准字段的匹配结果为匹配失败之后,发出提示信息;其中,提示信息用于提示用户向样本库中添加新的样本名称,新的样本名称与匹配结果为匹配失败的基准字段的字段名相同,以更新样本库;匹配模块303,还用于将匹配失败的基准字段与更新后的样本库进行匹配,得到匹配结果。
37.在一种可能的实现方式中,赋值模块304,还用于将样本名称所对应的样本值集合中的每一个值,分别作为与样本名称相匹配的基准字段的值。
38.在一种可能的实现方式中,装置30还包括:运行模块,用于在根据基准语句中基准字段的排列顺序,将赋值后的基准字段按排列顺序进行排列,以生成sql语句之后,运行sql语句;确定模块,用于根据sql语句的运行结果确定命中数据和/或非命中数据;其中,命中数据为执行待执行业务所需的有效数据,非命中数据为无效数据。
39.在一种可能的实现方式中,确定模块,还用于根据待执行业务确定样本名称和与
样本名称对应的样本值集合;装置30还包括:创建模块,用于根据样本名称和样本值集合创建样本库。
40.本发明实施例中,根据待执行业务预先设置了样本库,样本库中包括样本名称和与样本名称对应的样本值集合,利用样本名称与基准字段的匹配关系来对基准字段进行赋值,并将赋值后的基准字段按顺序拼成sql语句。由此,以预设的样本库为基准所生成的sql语句不再是随机且无序的,且所生成的sql语句中的字段顺序和字段的值,可针对性地满足不同应用场景下,待执行业务的需求。
41.本发明实施例还提供一种电子设备40,如图4所示,包括:处理器401、存储器402及存储在存储器402上并可在处理器401上运行的程序,程序被处理器执行时实现如图1所示的生成sql语句的方法的步骤。
42.本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如图1所示的生成sql语句的方法的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
43.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
44.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
45.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 改造方案的生成方法、生成装置...
  • 协议准入方法、装置、计算机设...
  • 服务器测试方法、装置、电子设...
  • 异常识别方法、装置、计算机设...
  • 动态脱敏方法、装置、电子设备...
  • 异构数据库实时同步脱敏方法、...
  • 部分特权的轻量级虚拟化环境的...
  • 一种基于实车测试数据的齿轮油...
  • 图像处理方法和装置与流程
  • 数据的交互方法、装置、可读存...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

深圳坪山网站建设公司普陀区官方网站优化方案定制德城区优化网站云南网站优化哪家不错汨罗网站推广优化体育行业网站优化传播pc网站优化的优势新城区网站优化网站优化大师软件优化提升网站权重伊犁州网站优化推广平台2017年怎么优化网站有什么网站需要优化招商大型网站优化青岛公司优化网站和平区网站优化公司北京泰安网站优化公司聚搜科技网站广告要多久才能优化深圳专业网站优化公司成都网站关键词推广优化湖州网站seo优化公司价格口碑好的餐饮行业网站优化方法识别网站优化效果设计新颖的网站优化怎样优化网站用金苹果厦门百度网站快速优化普洱三亚营销型网站优化系统黄冈外包网站优化公司大连市网站优化外链岳阳网站优化公司询问报价长沙网站运营优化系统香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化