[发明专利]一种利用python语法语义构建复杂sql语句的系统及方法在审
申请号: | 202011109926.6 | 申请日: | 2020-10-16 |
公开(公告)号: | CN112241416A | 公开(公告)日: | 2021-01-19 |
发明(设计)人: | 张玉平 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F8/36 |
代理公司: | 四川省成都市天策商标专利事务所 51213 | 代理人: | 赵以鹏 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 python 语法 语义 构建 复杂 sql 语句 系统 方法 | ||
本发明公开了一种利用python语法语义构建复杂sql语句的系统,属于脚本编程和结构化查询语言技术领域。该系统包括分解单元、赋值单元和串联单元;所述分解单元,用于对复杂sql查询语句进行分解,分解得到多种形式的子句;所述赋值单元,用于将分解得到的所述多种形式的子句赋值给python变量;所述串联单元,用于根据所述赋值后的python变量,将所述分解得到的多种形式的子句串联结合到一起,生成一条复杂的sql语句。利用python语法语义构建复杂sql语句的系统利用编程语言的逻辑处理的灵活性,将原本复杂的逻辑拆分处理,将复杂的问题简单化,和现有技术相比,提高了程序的可读性,也提升了后期的可扩展性降低了维护成本。
技术领域
本发明涉及脚本编程和结构化查询语言技术领域,更具体的说是涉及一种利用python语法语义构建复杂sql语句的系统及方法。
背景技术
目前针对于sql的解析通常集中在直接通过sql语句的拼接,这种方法在处理复杂的关系型查询的时候会导致sql语句的复杂和冗余,不利于后期的维护。
发明内容
本发明的目的在于提供一种利用python语法语义构建复杂sql语句的系统及方法,以期解决背景技术中存在的技术问题,主要针对的是关系型数据库的复杂查询在多对多模型下的一些复合查询语句的难辨识难维护的问题进行处理,问题的缺陷主要是由于结构化查询语言本身语言的限制,无法经由自身动态的构建复杂的语句导致以本身结构化查询语言查询的时候结构僵化,后期维护成本升高。
为了实现上述目的,本发明采用以下技术方案:
一种利用python语法语义构建复杂sql语句的系统,包括:分解单元、赋值单元和串联单元;所述分解单元,用于对复杂sql查询语句进行分解,分解得到多种形式的子句;所述赋值单元,用于将分解得到的所述多种形式的子句赋值给python变量;所述串联单元,用于根据所述赋值后的python变量,将所述分解得到的多种形式的子句串联结合到一起,生成一条复杂的sql语句。
本发明还提供了一种利用python语法语义构建复杂sql语句的方法,包括上述系统,包括以下步骤:
对复杂sql查询语句进行分解,分解得到多种形式的子句;
将所述分解得到的多种形式的子句赋值给python变量;
根据所述赋值后的python变量,将所述分解得到的多种形式的子句串联结合到一起,生成一条复杂的sql语句。
所述对复杂sql查询语句进行分解,分解得到多种形式的子句,包括:通过python语法来表示查询结构的方式,对复杂sql查询语句进行分解,分解得到多种形式的子句。
所述通过python语法来表示查询结构的方式,对复杂sql查询语句进行分解,分解得到多种形式的子句,包括:通过python语法来表示查询结构的方式,对复杂sql查询语句进行分解,分解得到包括条件子句、与或分解子句、offset子句、limit子句的多种形式的子句。
所述根据所述赋值后的python变量,将所述分解得到的多种形式的子句串联结合到一起,生成一条复杂的sql语句,包括:根据所述赋值后的python变量,使用sqlAlchemy表达式语言里的所述分解得到的多种形式的子句的对象,采用对象链式方式调用的形式,将所述分解得到的多种形式的子句串联结合到一起,生成一条复杂的sql语句。
本发明与现有技术相比具有的有益效果是:
与现有技术相比,本发明具有通过编程语言python对机构化查询语言的解构重组的特征,通过对现有的sql语句的结构分析,将复杂型关系梳理成简单的逻辑关系,然后通过编程语言实现多个基础条件里的逻辑关系,带入基础的结构化查询,将复杂的查询拆分成多个子查询后逐步实现对查询结果的归并重组。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011109926.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种带有升降式灯座的灯具
- 下一篇:一种变换画框的设备