SQL制造技术

技术编号:39656289 阅读:8 留言:0更新日期:2023-12-09 11:25
本发明专利技术涉及计算机技术领域,公开了一种

【技术实现步骤摘要】
SQL语句生成方法、装置、设备及介质


[0001]本专利技术涉及计算机
,尤其涉及一种
SQL
语句生成方法

装置

设备及介质


技术介绍

[0002]现有的一些业务项目管理中,经常涉及到对数据库数据的处理,例如存取数据以及查询

更新和管理数据库等,这些数据处理逻辑都需要通过
SQL(Structured Query Language
,结构化查询语言
)
语句来实现,需要开发人员了解业务需求,当有新的业务需求时,就需要重新编写对应的
SQL
语句来实现对应的逻辑,不仅需要专门的开发人员手动编写大量的
SQL
语句,还会面临编译报错的现象,导致
SQL
语句的编写效率低下

[0003]以电子病历
emr
数据为例,
emr
数据是医院中最具有价值的数据,它包含医院诊断治疗全过程的原始记录,可以为医护人员提供最全面的病人临床诊疗信息,因此
emr
的数据需求越来越多

但是,目前
emr
数据查询工具大部分都是面向明细数据,对于需要聚合的统计数据,只能支持单表查询,无法自动的进行跨表查询,所以支撑不了医院业务强相关的聚合统计

自主数据开发对于医务人员的门槛太高,导致医务人员需要数据工程师来辅助进行数据统计和分析,而数据工程师的工作效率影响了数据使用的体验,而且需求沟通和检验口径是否一致也会耗费额外的时间成本,使得医务人员无法便捷的得到想要的数据结果,影响
emr
数据的有效利用

[0004]专利技术人意识到,目前,
SQL
语句需要由开发人员手动书写,人工成本高且效率低

因此需要一种能够自动生成
SQL
语句的方法


技术实现思路

[0005]本专利技术提供一种人工智能的
SQL
语句生成方法

装置

计算机设备及介质,以解决由开发人员手动书写
SQL
语句人工成本高且效率低的的技术问题

[0006]第一方面,提供了一种
SQL
语句生成方法,包括:
[0007]当接收到结构化查询语言
SQL
语句创建指令时,生成并显示
SQL
语句编辑界面,其中,所述
SQL
语句编辑界面包括查询字段编辑区和查询条件编辑区,所述查询字段编辑区包括多个查询字段输入框,所述查询条件编辑区包括多个查询条件输入框;
[0008]接收基于所述查询字段编辑区接收的查询字段和基于所述查询条件编辑区接收的查询条件;
[0009]基于所述查询字段,根据预设语法规则在缓存区域中生成
SQL
语句对应的查询语句
SELECT

[0010]基于所述查询条件,根据预设语法规则在缓存区中生成
SQL
语句对应的过滤条件语句
WHERE

[0011]基于所述查询字段和所述查询条件,根据预设语法规则在缓存区生成
SQL
语句对应的表结构语句
FROM

[0012]重复执行上述步骤,直至接收到基于所述
SQL
语句编辑界面发送的编辑完成指令,
组合缓存区域中所述查询语句
SELECT、
所述过滤条件语句
WHERE
和所述表结构语句
FROM
生成目标
SQL
语句

[0013]在上述方案中,所述查询字段包括列结构

聚合函数

窗口函数,所述列结构代表要选择的列信息,所述聚合函数代表统计函数,所述窗口函数包括窗口分组

窗口的排序和取前几行和取后几行

[0014]在上述方案中,所述基于所述查询条件,根据预设语法规则在缓存区中生成
SQL
语句对应的过滤条件语句
WHERE
,包括:
[0015]根据所述查询条件,确定所述查询条件是一条单独的条件或者是多个条件组合;
[0016]如果所述查询条件是一条单独的条件,则基于预设的但条件结构,生成基于所述查询条件的所述过滤条件语句
WHERE

[0017]如果所述查询条件是多个条件组合,则基于预设的条件树结构,生成基于所述查询条件的所述过滤条件语句
WHERE。
[0018]在上述方案中,所述基于所述查询条件,根据预设语法规则在缓存区中生成
SQL
语句对应的过滤条件语句
WHERE
,还包括:
[0019]根据所述查询条件的标记符,确定所述过滤条件语句
WHERE
在所述目标
SQL
语句中的位置

[0020]在上述方案中,所述基于所述查询字段和所述查询条件,根据预设语法规则在缓存区生成
SQL
语句对应的表结构语句
FROM
包括:
[0021]根据所述查询字段中的列,找到对应的表集合,记为
query Tables

[0022]根据所述查询条件中的列,找到对应的表集合,记为
condition Tables

[0023]确定查询条件中跨表的条件对应的表集合,找到表集合构建的子树,加入到
query Tables
,组成
FROM
的表集合,记为
FROM Tables

[0024]确定所有嵌套子查询所包含的所有表集合,记为
child Tables

[0025]确定
child Tables
的根表记为
table T
,加入到
FROM Tables
,记为
main Tables

[0026]如果是本级表关联,则根据
FROM Tables
生成表结构语句
FROM

[0027]如果是嵌套表关联,则根据嵌套子查询生成自动
FROM
语句

[0028]在上述方案中,所述根据嵌套子查询生成自动
FROM
语句,包括:
[0029]找到
child Tables
中所有表的主键
key
,添加到嵌套子查询的查询字段中,并取别名为“表名
_pid”;
[0030]用嵌套子查询与
main 本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种
SQL
语句生成方法,其特征在于,包括:当接收到结构化查询语言
SQL
语句创建指令时,生成并显示
SQL
语句编辑界面,其中,所述
SQL
语句编辑界面包括查询字段编辑区和查询条件编辑区,所述查询字段编辑区包括多个查询字段输入框,所述查询条件编辑区包括多个查询条件输入框;接收基于所述查询字段编辑区接收的查询字段和基于所述查询条件编辑区接收的查询条件;基于所述查询字段,根据预设语法规则在缓存区域中生成
SQL
语句对应的查询语句
SELECT
;基于所述查询条件,根据预设语法规则在缓存区中生成
SQL
语句对应的过滤条件语句
WHERE
;基于所述查询字段和所述查询条件,根据预设语法规则在缓存区生成
SQL
语句对应的表结构语句
FROM
;重复执行上述步骤,直至接收到基于所述
SQL
语句编辑界面发送的编辑完成指令,组合缓存区域中所述查询语句
SELECT、
所述过滤条件语句
WHERE
和所述表结构语句
FROM
生成目标
SQL
语句
。2.
如权利要求1所述的
SQL
语句生成方法,其特征在于,所述查询字段包括列结构

聚合函数

窗口函数,所述列结构代表要选择的列信息,所述聚合函数代表统计函数,所述窗口函数包括窗口分组

窗口的排序和取前几行和取后几行
。3.
如权利要求1所述的
SQL
语句生成方法,其特征在于,所述基于所述查询条件,根据预设语法规则在缓存区中生成
SQL
语句对应的过滤条件语句
WHERE
,包括:根据所述查询条件,确定所述查询条件是一条单独的条件或者是多个条件组合;如果所述查询条件是一条单独的条件,则基于预设的但条件结构,生成基于所述查询条件的所述过滤条件语句
WHERE
;如果所述查询条件是多个条件组合,则基于预设的条件树结构,生成基于所述查询条件的所述过滤条件语句
WHERE。4.
如权利要求3所述的
SQL
语句生成方法,其特征在于,所述基于所述查询条件,根据预设语法规则在缓存区中生成
SQL
语句对应的过滤条件语句
WHERE
,还包括:根据所述查询条件的标记符,确定所述过滤条件语句
WHERE
在所述目标
SQL
语句中的位置
。5.
如权利要求1所述的
SQL
语句生成方法,其特征在于,所述基于所述查询字段和所述查询条件,根据预设语法规则在缓存区生成
SQL
语句对应的表结构语句
FROM
包括:根据所述查询字段中的列,找到对应的表集合,记为
query Tables
;根据所述查询条件中的列,找到对应的表集合,记为
condition Tables
;确定查询条件中跨表的条件对应的表集合,找到表集合构建的子树,加入到
query Tables
,组成
FROM
的表集合,记为
FROM Tables
;确定所有嵌套子查询所包含的所有表集合,记为
child Tables
;确定
child Tables
的根表记为...

【专利技术属性】
技术研发人员:李青李鹏飞田颖兰
申请(专利权)人:浙江省北大信息技术高等研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1