CN110866028A - 一种sql指令生成方法及系统 - Google Patents
一种sql指令生成方法及系统 Download PDFInfo
- Publication number
- CN110866028A CN110866028A CN201910959039.9A CN201910959039A CN110866028A CN 110866028 A CN110866028 A CN 110866028A CN 201910959039 A CN201910959039 A CN 201910959039A CN 110866028 A CN110866028 A CN 110866028A
- Authority
- CN
- China
- Prior art keywords
- query
- sql
- expression
- supported
- operator
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2445—Data retrieval commands; View definitions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种SQL指令生成方法及系统,所述方法包括:接收查询指令,对查询指令解析得到输入指令和输出指令;按序逐行解析输入指令,针对每一行输入指令:按照该行指令中设定的分割关键字确定指令中的资源类型,根据资源类型调用对应的处理引擎,基于调用的处理引擎从对应数据库中获取相应的数据信息,并保存在相应的数据集合中;在各行输入指令处理完毕后,解析输出指令,合并各数据集合中的数据信息并输出。本技术方案提供了一套通用且规范的SQL指令生成语言格式,可以有效查询常见的数据存储服务,并对结果集进行归并后返回。
Description
技术领域
本发明属于数据处理领域,具体涉及一种SQL指令生成方法及系统。
背景技术
在互联网web开发中,对于数据处理最常打交道的是数据库操作。而为了简化数据库操作,很多web框架都提供了一些好用的数据库操作的工具,或者是ORM工具等。尤其是在Java Web的世界中,最出名的莫过于Hibernate和MyBatis了。然而,完善的工具总是在提供给了数据库基本操作的同时也封装了各种功能,这导致工具的臃肿,也提加大了工具本身的使用难度。实际上,很多时候我们需要的仅仅是一个小巧而强大的数据库操作工具而已。
发明内容
本发明实施例提供一种SQL指令生成方法及系统,通过简单操作实现数据库的SQL指令查询操作。
为实现上述目的,一方面,本发明实施例提供了一种SQL指令生成方法,所述方法包括:
接收用户根据数据查询协议提交的查询表达式;
根据所述数据查询协议,通过结构化查询语言SQL解析器将所述查询表达式转换成SQL指令;
将转换的SQL指令发送给数据库操作接口以获取所述查询表达式的查询结果。
另一方面,本发明实施例提供了一种SQL指令生成系统,所述系统包括:
查询表达式接收单元,用于接收用户根据数据查询协议提交的查询表达式;
SQL指令转换单元,用于根据所述数据查询协议,通过结构化查询语言SQL解析器将所述查询表达式转换成SQL指令;
查询单元,用于将转换的SQL指令发送给数据库操作接口以获取所述查询表达式的查询结果。
上述技术方案具有如下有益效果:
本发明技术方案通过数据查询协议的设置,使得查询表达式的编写简单方便,并最终能通过转换为SQL指令完成查询,通过本发明的技术方案,专注于SQL查询,小巧精悍,使用简单,在满足数据查询需求的前提下,大大降低了复杂度,没有冗余的功能;使得查询表达式富有表现力,能简化代码开发,通用性强,不局限于某种特定的编程语言;并且,,使用查询表达式协议操作数据库,支持各种复杂查询,不用编写SQL语句。使得查询简单方便。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一种SQL指令生成方法的流程图;
图2是本发明实施例一种SQL指令生成系统的示意图;
图3是本发明实施例一种SQL指令生成方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到我们在开发中,使用数据库操作工具更多的是为了自动生成SQL,和简化数据库基本操作,为了回归事物的本质,从现有的数据库操作工具的复杂使用中解放出来,我们不断探索,最后形成了一套简单可行的数据库SQL生成协议,并且应用到实际开发中,通过了线上的严格考验。
如图1所示,是本发明实施例一种SQL指令生成方法的流程图,所述方法包括:
S101、接收用户根据数据查询协议提交的查询表达式。
用户通过用户操作层,根据数据查询协议直接编辑查询表达式,不用直接编辑SQL指令,而查询表达式通过便于编辑的形式表达用户的查询指令,使得用户的操作方便简单。
S102、根据所述数据查询协议,通过结构化查询语言SQL解析器将所述查询表达式转换成SQL指令。
对于如何设计一个简单高效的数据查询协议,并且能够高效的实现协议到SQL的转换。经过大量实验和探索中,我们总结了一套可行的数据查询协议,并将该协议命名为“查询表达式”,为了方便表达,这里用非常通用的JSON形式来描述。
优选地,所述查询表达式包括JavaScript对象简谱JSON表达式;对应JSON表达式,所述数据查询协议包括:
对于where查询,以key-value的形式来传递查询条件;其中,key表示要查询的字段,value表示字段筛选的值;相对应的查询表达式例如:
{
“name”:“zhangsan”,
“age”:26
}。
对于带运算符号的范围查询,将SQL中的运算符号等同为查询表达式支持的运算符;例如对于带运算符号的范围查询,将SQL中的运算符号等同为查询表达式支持的运算符,具体包括:
查询表达式支持的运算符“[>]”,对应SQL中的“>”操作;
查询表达式支持的运算符“[>=]”,对应SQL中的“>=”操作;
查询表达式支持的运算符“[<]”,对应SQL中的“<”操作;
查询表达式支持的运算符“[<=]”,对应SQL中的“<=”操作;
查询表达式支持的运算符“[!]”,对应SQL中的“<>”操作;
查询表达式支持的运算符“[<>]”,对应SQL中的“BETWEEN”操作;
查询表达式支持的运算符“[~]”,对应SQL中的“LIKE”操作;以及,
查询表达式支持的运算符“[!~]”,对应SQL中的“NOT LIKE”操作。
相对应的查询表达式例如:
{
“name[!]”:“zhangsan”,
“age[>]”:26
}。
对于逻辑符号“AND”和“OR”,在查询表达式中对应每一个逻辑符号进行分层表示,对不同层级的逻辑“AND”或“OR”,通过嵌套形式进行表达;例如对于SQL指令:WHERE(name=“zhangsan”AND age>26)OR(name=“lisi”AND age<26),对应的查询表达式为:
对于该表达式,由于整体是一个OR操作,所以最外层的key描述的是OR操作符,内层是两个同级的AND操作,每个AND操作中遵循简单查询中定义的规则。由于同级JSON不能有重名的key,所以我们使用“#id”来区分。
同理,我们可以无限极嵌套出各种复杂的查询,而且很容易转换成合法的SQL语句。当我们能够实现查询表达式向标准SQL的转换后,再稍做封装,就能实现用户操作层接口,以方便用户使用简单的函数调用就能构造出他想构造的查询,而完全不用考虑底层转换的SQL是什么。
这种查询表达式协议同样也适用于web页面向后端接口做数据筛选,使用这种灵活的协议,针对一些数据筛选接口,就不用再定义多个标志变量来做各种标记切换,查询表达式大大增加了代码的表达能力,使得代码更加容易编写和维护。
关于协议的转换,优选地,还可以借助于生成语法分析器的工具Yacc(YetAnother Compiler Compiler)或者ANTLR(ANTLR-Another Tool for LanguageRecognition),通过定义其语法文件巴科斯范式BNF的变量规则描述形成数据查询协议,或者扩展巴科斯范式EBNF的变量规则描述形成数据查询协议,然后实现其规则对应的操作即可。
S103、将转换的SQL指令发送给数据库操作接口以获取所述查询表达式的查询结果。
优选地,还包括:将查询结果构造成Java对象后发送给用户。
对应于上述方法,如图2所示,是本发明实施例一种SQL指令生成系统的示意图,所述系统包括:
查询表达式接收单元21,用于接收用户根据数据查询协议提交的查询表达式;
SQL指令转换单元22,用于根据所述数据查询协议,通过结构化查询语言SQL解析器将所述查询表达式转换成SQL指令;
查询单元23,用于将转换的SQL指令发送给数据库操作接口以获取所述查询表达式的查询结果。
优选地,所述系统还包括数据查询协议构造单元,用于确定所述查询表达式包括JavaScript对象简谱JSON表达式;以及对应JSON表达式,构造所述数据查询协议包括:
对于where查询,以key-value的形式来传递查询条件;其中,key表示要查询的字段,value表示字段筛选的值;
对于带运算符号的范围查询,将SQL中的运算符号等同为查询表达式支持的运算符;
对于逻辑符号“AND”和“OR”,在查询表达式中对应每一个逻辑符号进行分层表示,对不同层级的逻辑“AND”或“OR”,通过嵌套形式进行表达。
进一步优选地,所述数据查询协议中,对于带运算符号的范围查询,将SQL中的运算符号等同为查询表达式支持的运算符,具体包括:
查询表达式支持的运算符“[>]”,对应SQL中的“>”操作;
查询表达式支持的运算符“[>=]”,对应SQL中的“>=”操作;
查询表达式支持的运算符“[<]”,对应SQL中的“<”操作;
查询表达式支持的运算符“[<=]”,对应SQL中的“<=”操作;
查询表达式支持的运算符“[!]”,对应SQL中的“<>”操作;
查询表达式支持的运算符“[<>]”,对应SQL中的“BETWEEN”操作;
查询表达式支持的运算符“[~]”,对应SQL中的“LIKE”操作;以及,
查询表达式支持的运算符“[!~]”,对应SQL中的“NOT LIKE”操作。
优选地,所述系统还包括数据查询协议构造单元,用于构造数据查询协议,包括:
根据生成语法分析工具Yacc,通过定义其语法文件巴科斯范式BNF的变量规则描述形成数据查询协议;或者,
根据生成语法分析工具ANTLR,通过定义其语法文件扩展巴科斯范式EBNF的变量规则描述形成数据查询协议。
优选地,所述查询单元还用于:将查询结果构造成Java对象后发送给用户。
如图3所示,本发明的技术方案中,用户通过用户操作层构造好数据查询协议,然后通过SQL解析器将用户构造好的协议数据转换成合法的SQL语句,并且对SQL做适量的优化,然后将优化后的SQL发送给底层的数据库操作接口,并将返回的结构构造成Java对象返回给用户。通过本发明的技术方案,实现了:
1.通过数据查询协议进行SQL语句转换,功能专一,小巧精悍,使用简单,在满足数据查询需求的前提下,大大降低了复杂度,没有冗余的功能。
2.查询表达式富有表现力,能简化代码开发,通用性强,不局限于某种特定的编程语言。
3.使用查询表达式协议操作数据库,支持各种复杂查询,不用编写SQL语句,而一些常见的对象关系映射ORM工具大多时候都需要手写SQL。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种SQL指令生成方法,其特征在于,所述方法包括:
接收用户根据数据查询协议提交的查询表达式;
根据所述数据查询协议,通过结构化查询语言SQL解析器将所述查询表达式转换成SQL指令;
将转换的SQL指令发送给数据库操作接口以获取所述查询表达式的查询结果。
2.如权利要求1所述的SQL指令生成方法,其特征在于,所述查询表达式包括JavaScript对象简谱JSON表达式;对应JSON表达式,所述数据查询协议包括:
对于where查询,以key-value的形式来传递查询条件;其中,key表示要查询的字段,value表示字段筛选的值;
对于带运算符号的范围查询,将SQL中的运算符号等同为查询表达式支持的运算符;
对于逻辑符号“AND”和“OR”,在查询表达式中对应每一个逻辑符号进行分层表示,对不同层级的逻辑“AND”或“OR”,通过嵌套形式进行表达。
3.如权利要求2所述的SQL指令生成方法,其特征在于,对于带运算符号的范围查询,将SQL中的运算符号等同为查询表达式支持的运算符,具体包括:
查询表达式支持的运算符“[>]”,对应SQL中的“>”操作;
查询表达式支持的运算符“[>=]”,对应SQL中的“>=”操作;
查询表达式支持的运算符“[<]”,对应SQL中的“<”操作;
查询表达式支持的运算符“[<=]”,对应SQL中的“<=”操作;
查询表达式支持的运算符“[!]”,对应SQL中的“<>”操作;
查询表达式支持的运算符“[<>]”,对应SQL中的“BETWEEN”操作;
查询表达式支持的运算符“[~]”,对应SQL中的“LIKE”操作;以及,
查询表达式支持的运算符“[!~]”,对应SQL中的“NOT LIKE”操作。
4.如权利要求1所述的SQL指令生成方法,其特征在于,所述数据查询协议包括:
根据生成语法分析工具Yacc,通过定义其语法文件巴科斯范式BNF的变量规则描述形成数据查询协议;或者,
根据生成语法分析工具ANTLR,通过定义其语法文件扩展巴科斯范式EBNF的变量规则描述形成数据查询协议。
5.如权利要求1-4任一所述的SQL指令生成方法,其特征在于,还包括:将查询结果构造成Java对象后发送给用户。
6.一种SQL指令生成系统,其特征在于,所述系统包括:
查询表达式接收单元,用于接收用户根据数据查询协议提交的查询表达式;
SQL指令转换单元,用于根据所述数据查询协议,通过结构化查询语言SQL解析器将所述查询表达式转换成SQL指令;
查询单元,用于将转换的SQL指令发送给数据库操作接口以获取所述查询表达式的查询结果。
7.如权利要求6所述的SQL指令生成系统,其特征在于,所述系统还包括数据查询协议构造单元,用于确定所述查询表达式包括JavaScript对象简谱JSON表达式;以及对应JSON表达式,构造所述数据查询协议包括:
对于where查询,以key-value的形式来传递查询条件;其中,key表示要查询的字段,value表示字段筛选的值;
对于带运算符号的范围查询,将SQL中的运算符号等同为查询表达式支持的运算符;
对于逻辑符号“AND”和“OR”,在查询表达式中对应每一个逻辑符号进行分层表示,对不同层级的逻辑“AND”或“OR”,通过嵌套形式进行表达。
8.如权利要求7所述的SQL指令生成系统,其特征在于,所述数据查询协议中,对于带运算符号的范围查询,将SQL中的运算符号等同为查询表达式支持的运算符,具体包括:
查询表达式支持的运算符“[>]”,对应SQL中的“>”操作;
查询表达式支持的运算符“[>=]”,对应SQL中的“>=”操作;
查询表达式支持的运算符“[<]”,对应SQL中的“<”操作;
查询表达式支持的运算符“[<=]”,对应SQL中的“<=”操作;
查询表达式支持的运算符“[!]”,对应SQL中的“<>”操作;
查询表达式支持的运算符“[<>]”,对应SQL中的“BETWEEN”操作;
查询表达式支持的运算符“[~]”,对应SQL中的“LIKE”操作;以及,
查询表达式支持的运算符“[!~]”,对应SQL中的“NOT LIKE”操作。
9.如权利要求6所述的SQL指令生成系统,其特征在于,所述系统还包括数据查询协议构造单元,用于构造数据查询协议,包括:
根据生成语法分析工具Yacc,通过定义其语法文件巴科斯范式BNF的变量规则描述形成数据查询协议;或者,
根据生成语法分析工具ANTLR,通过定义其语法文件扩展巴科斯范式EBNF的变量规则描述形成数据查询协议。
10.如权利要求6-9任一所述的SQL指令生成系统,其特征在于,所述查询单元还用于:将查询结果构造成Java对象后发送给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910959039.9A CN110866028A (zh) | 2019-10-10 | 2019-10-10 | 一种sql指令生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910959039.9A CN110866028A (zh) | 2019-10-10 | 2019-10-10 | 一种sql指令生成方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110866028A true CN110866028A (zh) | 2020-03-06 |
Family
ID=69652465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910959039.9A Pending CN110866028A (zh) | 2019-10-10 | 2019-10-10 | 一种sql指令生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110866028A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400564A (zh) * | 2020-03-24 | 2020-07-10 | 山东浪潮通软信息科技有限公司 | 一种数据过滤的方法、系统、设备及介质 |
CN112286958A (zh) * | 2020-11-16 | 2021-01-29 | 广州速威智能系统科技有限公司 | 数据库查询表达式的处理方法和系统 |
CN112948418A (zh) * | 2021-02-25 | 2021-06-11 | 平安普惠企业管理有限公司 | 动态查询方法、装置、设备及存储介质 |
CN113609154A (zh) * | 2021-08-06 | 2021-11-05 | 网易(杭州)网络有限公司 | 一种数据查询方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105814A (zh) * | 2007-09-11 | 2008-01-16 | 金蝶软件(中国)有限公司 | 一种将Script语言转换成SQL语言的方法及装置 |
US20100169381A1 (en) * | 2008-12-31 | 2010-07-01 | International Business Machines Corporation | Expression tree data structure for representing a database query |
CN102799644A (zh) * | 2012-06-28 | 2012-11-28 | 用友软件股份有限公司 | 基于元数据的数据库动态查询系统和数据库动态查询方法 |
CN110019291A (zh) * | 2017-09-04 | 2019-07-16 | 中国移动通信集团浙江有限公司 | 一种sql解析方法和sql解析器 |
-
2019
- 2019-10-10 CN CN201910959039.9A patent/CN110866028A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105814A (zh) * | 2007-09-11 | 2008-01-16 | 金蝶软件(中国)有限公司 | 一种将Script语言转换成SQL语言的方法及装置 |
US20100169381A1 (en) * | 2008-12-31 | 2010-07-01 | International Business Machines Corporation | Expression tree data structure for representing a database query |
CN102799644A (zh) * | 2012-06-28 | 2012-11-28 | 用友软件股份有限公司 | 基于元数据的数据库动态查询系统和数据库动态查询方法 |
CN110019291A (zh) * | 2017-09-04 | 2019-07-16 | 中国移动通信集团浙江有限公司 | 一种sql解析方法和sql解析器 |
Non-Patent Citations (4)
Title |
---|
刘永伟: "基于Web服务的SQL到XQuery查询转换系统的研究", 《中国优秀博硕士学位论文全文数据库 (硕士)(信息科技辑)》 * |
葛文帅: "业务导向的自定义大数据查询系统及其SQL解析器的设计与实现", 《中国优秀硕士学位论文全文数据库》 * |
董贺楼: "基于本体论的会员管理系统的研究与实现", 《中国优秀硕士学位论文全文数据库》 * |
高升: "基于JSON的数据库访问层研究与应用", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400564A (zh) * | 2020-03-24 | 2020-07-10 | 山东浪潮通软信息科技有限公司 | 一种数据过滤的方法、系统、设备及介质 |
CN112286958A (zh) * | 2020-11-16 | 2021-01-29 | 广州速威智能系统科技有限公司 | 数据库查询表达式的处理方法和系统 |
CN112286958B (zh) * | 2020-11-16 | 2024-05-17 | 广州速威智能系统科技有限公司 | 数据库查询表达式的处理方法和系统 |
CN112948418A (zh) * | 2021-02-25 | 2021-06-11 | 平安普惠企业管理有限公司 | 动态查询方法、装置、设备及存储介质 |
CN113609154A (zh) * | 2021-08-06 | 2021-11-05 | 网易(杭州)网络有限公司 | 一种数据查询方法、装置、电子设备和存储介质 |
CN113609154B (zh) * | 2021-08-06 | 2023-08-29 | 网易(杭州)网络有限公司 | 一种数据查询方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110866028A (zh) | 一种sql指令生成方法及系统 | |
CN107092656B (zh) | 一种树状结构数据处理方法及系统 | |
US8661023B1 (en) | Optimizing search query logic to speed retrieval | |
CN105718593B (zh) | 一种数据库查询优化方法及系统 | |
US9892144B2 (en) | Methods for in-place access of serialized data | |
CN102799644B (zh) | 基于元数据的数据库动态查询系统和数据库动态查询方法 | |
US20100145946A1 (en) | Translating queries to representational state transfer (rest) | |
EP2827244A1 (en) | Extension mechanism for scripting language compiler | |
CN110554875B (zh) | 代码转换方法及装置、电子设备、存储介质 | |
JP2012504826A (ja) | 拡張可能な構文を有するプログラミング言語 | |
US20120102472A1 (en) | Extending programming language semantics while maintaining standard syntax through aliasing | |
CN107609302B (zh) | 一种产品工艺结构生成方法及系统 | |
JP2009535730A (ja) | プログラミング言語における式ツリーの深い埋め込みのためのジェネリックインターフェイス | |
CN101185116A (zh) | 在软件程序中使用强数据类型表示语音识别语法 | |
CN107145549B (zh) | 一种数据库缓存控制方法以及系统 | |
CN111309751A (zh) | 大数据处理方法及装置 | |
CN109313547A (zh) | 用于cpu利用率和代码重构的查询优化器 | |
CN111221852A (zh) | 基于大数据的混合查询处理方法及装置 | |
CN111176656B (zh) | 一种复杂数据匹配方法及介质 | |
CN111782195B (zh) | 一种基于在请求参数上添加注解拼接成sql的查询方法 | |
CN113792071A (zh) | Sql智能生成并调优组件和方法 | |
CN109726213B (zh) | 一种程序代码转换方法、装置、介质和计算设备 | |
CN114003583A (zh) | 一种目标格式数据请求体的构建方法、装置、介质及设备 | |
CN115827676A (zh) | Sql子查询的执行方法、装置、终端设备以及介质 | |
CN111859929B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200306 |