CN110888876A - 生成数据库脚本的方法、装置、存储介质及计算机设备 - Google Patents
生成数据库脚本的方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN110888876A CN110888876A CN201911063069.8A CN201911063069A CN110888876A CN 110888876 A CN110888876 A CN 110888876A CN 201911063069 A CN201911063069 A CN 201911063069A CN 110888876 A CN110888876 A CN 110888876A
- Authority
- CN
- China
- Prior art keywords
- query
- preset
- keyword
- word segmentation
- database
- 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
- 238000013515 script Methods 0.000 title claims abstract description 139
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000011218 segmentation Effects 0.000 claims abstract description 66
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 31
- 238000004590 computer program Methods 0.000 claims description 8
- 230000018109 developmental process Effects 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 244000062793 Sorghum vulgare Species 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 235000019713 millet Nutrition 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
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/243—Natural language query formulation
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种生成数据库脚本的方法、装置、存储介质及计算机设备,涉及信息技术领域,主要在于能够提高数据库脚本的开发效率和准确率,降低了开发人员的工作量,避免了不同开发人员开发的数据库脚本不一致的情况。所述方法包括:获取待生成数据库脚本的查询语句;利用预设分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词;根据所述查询语句对应的各个关键词,确定所述各个关键词对应的结构化查询语句,并根据所述各个关键词对应的结构化查询语句生成所述查询语句对应的数据库脚本。本发明适用于数据库脚本的生成。
Description
技术领域
本发明涉及信息技术领域,尤其是涉及一种生成数据库脚本的方法、装置、存储介质及计算机设备。
背景技术
数据库本身可视为电子化的文件柜-存储电子文件的处所,用户可以对文件中的数据进行增加、修改、删除和查询等操作,在现在这个大数据时代,随着对数据库的操作频率越来越高,对sql脚本的准确率、性能要求也越来越高,针对增加操作、修改操作和删除操作的开发较为简单,而查询操作的开发较为复杂。
目前,针对简单的查询语句,开发人员能够在短时间内完成编码,而针对复杂的查询语句,需要结合表结构和业务逻辑查询出想要的结果,然而,结合表结构和业务逻辑的查询,会增加开发人员的编码难度,开发人员很难在短时间内写出高效的数据库脚本,此外,由于开发人员的技术层次各不相同,每个开发人员编写的脚本都不一致,需要人工提取最优的脚本为项目所用,由此导致项目开发效率低下,降低了项目开发的准确率,对数据库的操作不够灵活。
发明内容
本发明提供了一种生成数据库脚本的方法、装置、存储介质及计算机设备,主要在于能够提高数据库脚本的开发效率和准确率,降低了开发人员的工作量,确保不同开发人员开发数据库脚本的一致性。
根据本发明的第一个方面,提供一种生成数据库脚本的方法,包括:
获取待生成数据库脚本的查询语句;
利用预设分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词;
根据所述查询语句对应的各个关键词,确定所述各个关键词对应的结构化查询语句,并根据所述各个关键词对应的结构化查询语句生成所述查询语句对应的数据库脚本。
根据本发明的第二个方面,提供一种生成数据库脚本的装置,包括:
获取单元,用于获取待生成数据库脚本的查询语句;
分词单元,用于利用预设分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词;
生成单元,用于根据所述查询语句对应的各个关键词,确定所述各个关键词对应的结构化查询语句,并根据所述各个关键词对应的结构化查询语句生成所述查询语句对应的数据库脚本。
根据本发明的第三个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取待生成数据库脚本的查询语句;
利用预设分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词;
根据所述查询语句对应的各个关键词,确定所述各个关键词对应的结构化查询语句,并根据所述各个关键词对应的结构化查询语句生成所述查询语句对应的数据库脚本。
根据本发明的第四个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
获取待生成数据库脚本的查询语句;
利用预设分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词;
根据所述查询语句对应的各个关键词,确定所述各个关键词对应的结构化查询语句,并根据所述各个关键词对应的结构化查询语句生成所述查询语句对应的数据库脚本。
本发明提供的一种生成数据库脚本的方法、装置、存储介质及计算机设备,与目前由开发人员结合表结构和业务逻辑编写数据库脚本的方式相比,本发明通过将获取的待生成数据库脚本的查询语句进行分词处理,得到各个查询语句对应的关键词,能够对待生成数据库脚本的查询语句进行解析,提取该查询语句的关键信息,此外,由于同一关键词对应唯一的结构化查询语句,通过确定各个关键词对应的结构化查询语句,能够确保开发的数据库脚本的一致性,与此同时,根据各个关键词对应的结构化查询语句生成该查询语句对应的数据库脚本,实现了数据库脚本开发的智能化处理,从而能够缩短数据库脚本的开发周期,提高数据库脚本的开发效率和准确率,大大减少了开发人员的工作量,对数据库的操作更加灵活。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种生成数据库脚本的方法流程图;
图2示出了本发明实施例提供的另一种生成数据库脚本的方法流程图;
图3示出了本发明实施例提供的一种生成数据库脚本的装置的结构示意图;
图4示出了本发明实施例提供的另一种生成数据库脚本的装置的结构示意图;
图5示出了本发明实施例提供的一种计算机设备的实体结构示意图;
图6示出了本发明实施例提供的预设关键词词库。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如背景技术,目前,针对简单的查询语句,开发人员能够在短时间内完成编码,而针对复杂的查询语句,需要结合表结构和业务逻辑查询出想要的结果,然而,结合表结构和业务逻辑的查询,会增加开发人员的编码难度,开发人员很难在短时间内写出高效的数据库脚本,此外,由于开发人员的技术层次各不相同,每个开发人员编写的脚本都不一致,需要人工提取最优的脚本为项目所用,由此导致项目开发效率低下,降低了项目开发的准确率,对数据库的操作不够灵活。
为了解决上述问题,本发明实施例提供了一种生成数据库脚本的方法,如图1所示,所述方法包括:
101、获取待生成数据库脚本的查询语句。
其中,待生成脚本的查询语句为数据库查询过程中的中文描述,例如,查询某班级中相同年龄的姓名和年龄,查询小明所在年级并且当前年级的总班级数,具体地,用户点击数据库查询语句的脚本生成按钮,弹出待生成数据库脚本的查询语句的输入界面,用户按照预设查询描述模板填写查询语句,获取用户输入的待生成脚本的查询语句。例如,待生成数据库脚本的查询语句可以为查询表class+相同class.Age+class.Name(姓名)和Age(年龄)。
102、利用预设分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词。
其中,预设分词算法可以为预设hanlp分词算法,具体地,收集查询语句中的特定关键词,建立预设关键词词库,如图6所示,该预设关键词库中的特定关键词包括“查询”、“表”、“等于”、“大于”、“和”等等,根据该预设关键词库,利用预设hanlp分词算法对待生成脚本的查询语句进行分词处理,并获取分词后的各个关键词,具体地,可以利用预设hanlp分词算法中的预设最短路径分词算法对所述查询语句进行分词处理,需要说明的是预设分词算法可以为但不局限于预设hanlp分词算法,例如,待生成数据库脚本的查询语句为:查询表class+相同class.Age+class.Name(姓名)和Age(年龄),根据预设关键词词库,利用预设hanlp分词算法对其进行分词处理,得到查询/表class/相同class.Age/class.Name(姓名)/和/Age(年龄),再利用预设关键词词库将各个关键词检索出来,得到的关键词为“查询”、“表”、“相同”、“和”;再比如,待生成数据库脚本的查询语句为:查询表class(c)和表grade(g)+class.name等于小明+结果grade.grade_name(年级)和grade.class_count(班级总数),根据预设关键词词库,利用预设hanlp分词算法对其进行分词处理,得到查询/表class(c)/和/表grade(g)/class.name/等于/小明/grade.grade_name(年级)/和/grade.class_count(班级总数),再利用预设关键词词库将各个关键词检索出来,得到的关键词为“查询”、“表”、“表”、“等于”、“和”。
103、根据所述查询语句对应的各个关键词,确定所述各个关键词对应的结构化查询语句,并根据所述各个关键词对应的结构化查询语句生成所述查询语句对应的数据库脚本。
对于本发明实施例,根据查询语句对应的各个关键词查找预设结构化查询语句列表,确定各个关键词对应的结构化查询语句,即将获取的各个关键词匹配成对应的结构化查询语句,例如,在对待生成数据库脚本的查询语句进行分词处理后,获取查询语句中的关键词为“查询”,则将“查询”匹配成对应的结构化查询语句为select,再比如,获取查询语句中的关键词为“表user(u)”,则将“表user(u)”匹配成对应的结构化查询语句为from useru,并将各个关键对应的结构化查询语句拼接成查询语句对应的数据库查询脚本,例如,待生成数据库脚本的查询语句为查询表class+相同class.Age+class.Name(姓名)和Age(年龄),则拼接后组成的数据库查询脚本为select Name as‘姓名’,Age as‘年龄’from classgroup by Age having count(*)>1;再比如,待生成数据库脚本的查询语句为查询表class(c)和表grade(g)+class.name等于小明+结果grade.grade_name(年级)和grade.class_count(班级总数),则拼接后组成的数据库查询脚本为select g.grade_Name as‘年级’,g.class_count as‘班级总数’from class c left join grade g on c.grade_id=g.grade_id and c.name=‘小明’。
本发明实施例提供的一种生成数据库脚本的方法,与目前由开发人员结合表结构和业务逻辑编写数据库脚本的方式相比,本发明通过将获取的待生成数据库脚本的查询语句进行分词处理,得到各个查询语句对应的关键词,能够对待生成数据库脚本的查询语句进行解析,提取该查询语句的关键信息,此外,由于同一关键词对应唯一的结构化查询语句,通过确定各个关键词对应的结构化查询语句,能够确保开发的数据库脚本的一致性,与此同时,根据各个关键词对应的结构化查询语句生成该查询语句对应的数据库脚本,实现了数据库脚本开发的智能化处理,从而能够缩短数据库脚本的开发周期,提高数据库脚本的开发效率和准确率,大大减少了开发人员的工作量,对数据库的操作更加灵活。
进一步的,为了更好的说明上述数据库脚本的生成过程,作为对上述实施例的细化和扩展,本发明实施例提供了另一种生成数据库脚本的方法,如图2所示,所述方法包括:
201、获取待生成数据库脚本的查询语句。
对于本发明实施例,为了获取待生成数据库脚本的查询语句,步骤201具体包括:接收数据库脚本生成指令,并弹出待生成数据库脚本的查询语句输入界面;获取用户按照预设查询描述模板在所述界面中输入的查询语句。进一步地,所述预设查询描述模板包括预设查询模块、预设条件模块和预设结果模块,所述获取用户按照预设查询描述模板在所述界面中输入的查询语句,包括:获取用户按照所述预设查询模块、所述预设条件模块和所述预设结果模块在所述界面中输入的查询语句。具体地,当用户点击数据库脚本生成按钮时,会弹出待生成数据库脚本的查询语句输入界面,用户根据预设查询描述模板输入待生成数据库脚本的查询语句,其中,预设查询描述模板包括预设查询模块,预设条件模块和预设结果模块,此外,所述预设查询模块包括所述用户查询对象的表名信息,所述预设结果模块包括所述用户查询对象的字段信息,所述预设条件模块包括所述用户查询对象的条件信息,具体地,预设查询模块中的“查询”字段后紧跟着所要查询对象的表名,查询对象的表名为tableName,查询对象的表名后可以紧跟括号,括号内为指定表名的别名,若存在多个查询对象,可描述多个查询对象的表名,中间可以用关键字“和”连接描述,此外,预设结果模块中的“结果”字段可以为查询对象中的所有信息,也可以为查询对象中的特定字段,例如,查询对象的特定字段为tableName.column1和tableName.column2,与此同时,预设条件模块中的“条件”字段为用于条件描述的关键词,例如,相同、最大值、最小值、相等、平均值、不相等、大于、小于等等,进一步地,预设查询模块、预设条件模块和预设结果模块之间“+”进行连接。例如,表结构和数据如表1所示:
表1
Id | Grade_id | Name | Age | sex |
1001 | 1 | 小米 | 12 | 女 |
1002 | 2 | 小明 | 11 | 男 |
1003 | 2 | 小红 | 11 | 女 |
当用户查询上表班级中相同年龄的姓名和年龄时,按照预设查询描述模板输入查询语句,获取用户输入的待生成数据库脚本的查询语句,具体地,预设查询模块中的“查询”字段后接表名class,预设条件模块中的“条件”字段为相同class.Age,预设结果模块中的“结果”字段为class.Name和Age,最终获取的待生成数据库脚本的查询语句为:查询表class+相同class.Age+class.Name(姓名)和Age(年龄)。
进一步地,当多表之间关联查询时,获取用户按照预设查询描述模板输入的待生成数据库脚本的查询语句,例如,表名为grade,表结构及数据如表2所示:
表2
id | Grade_id | Grade_name | Class_count |
1 | 1 | 一年级 | 12 |
2 | 2 | 二年级 | 12 |
3 | 3 | 三年级 | 13 |
当用户查询小明所在年级和当前年级的总班级数时,按照预设查询描述模板,获取用户输入的待生成数据库脚本的查询语句,具体地,预设查询模块中的“查询”字段后接表名class和grade,预设条件模块中的“条件”字段为等于小明,预设结果模块中的“结果”字段为grade_name(年级)和class_count(班级总数),最终获取的待生成数据库脚本的查询语句为:查询表class(c)和表grade(g)+class.name等于小明+结果grade.grade_name(年级)和grade.class_count(班级总数)。由此通过获取用户按照预设查询描述模板输入的查询语句,能够对该查询语句中的关键词进行解析,并将各个关键词匹配成对应的结构化查询语句,拼接成有效的数据库脚本,能够提高数据库脚本的开发效率,降低了开发人员的工作量,避免了不同开发人员开发的数据库脚本不一致的情况。
202、根据预设关键词词库,利用所述预设hanlp分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词。
其中,预设hanlp分词算法具体可以为预设最短路径分词算法,对于本发明实施例,收集查询语句中的特定关键词,构建预设关键词词库,该预设关键词词库中包括“查询”、“表”、“等于”、“大于”等关键词,根据预设关键词词库,利用预设最短路径分词算法对待生成数据库脚本的查询语句进行分词处理,得到该查询语句对应的各个关键词,例如,待生成数据库脚本的查询语句为:查询表class+相同class.Age+class.Name(姓名)和Age(年龄),根据预设关键词词库,利用预设hanlp分词算法对其进行分词处理,得到查询/表class/相同class.Age/class.Name(姓名)/和/Age(年龄),再利用预设关键词词库将各个关键词检索出来,得到的关键词为“查询”、“表”、“相同”、“和”;再比如,待生成数据库脚本的查询语句为:查询表class(c)和表grade(g)+class.name等于小明+结果grade.grade_name(年级)和grade.class_count(班级总数),根据预设关键词词库,利用预设hanlp分词算法对其进行分词处理,得到查询/表class(c)/和/表grade(g)/class.name/等于/小明/grade.grade_name(年级)/和/grade.class_count(班级总数),再利用预设关键词词库将各个关键词检索出来,得到的关键词为“查询”、“表”、“表”、“等于”、“和”。由此根据用户输入的待生成数据库脚本的查询语句,通过预设分词算法解析其关键信息,并根据解析的关键信息生成对应的数据库查询脚本,能够提高数据库脚本的开发效率和准确率,降低了开发人员的工作量。
203、根据所述查询语句对应的各个关键词查询预设结构化查询语句列表,确定所述各个关键词对应的结构化查询语句。
其中,预设结构化查询语句列表中存储有不同关键词及其对应的结构化查询语句,对于本发明实施例,预先收集不同查询语句中不同关键词对应的结构化查询语句,例如,关键词“查询”对应的结构化查询语句为“select”,关键词“表user(u)”对应的结构化查询语句为“from user u”,由此,根据收集的不同关键词对应的结构化查询语句,构建预设结构化查询语句列表,进一步地,根据确定的查询语句对应的各个关键词,查找预设结构化语句列表,确定各个关键词对应的结构化查询语句。
204、将所述各个关键词对应的结构化查询语句拼接成所述查询语句对应的数据库脚本。
对于本发明实施例,为了将各个结构化查询语句拼接成查询语句对应的数据库脚本,步骤204具体包括:按照预设结构化查询语句逻辑顺序将所述各个关键词对应的结构化查询语句拼接成所述查询语句对应的数据库脚本。具体地,各个关键词对应的结构化查询语句之间存在逻辑顺序,例如,结构化查询语句select的位置在结构化查询语句from useru之前,而查询条件位于最后,由此拼接成的数据库脚本可以为select Name as‘姓名’,Ageas‘年龄’from class group by Age having count(*)>1。
本发明实施例提供的另一种生成数据库脚本的方法,与目前由开发人员结合表结构和业务逻辑编写数据库脚本的方式相比,本发明通过将获取的待生成数据库脚本的查询语句进行分词处理,得到各个查询语句对应的关键词,能够对待生成数据库脚本的查询语句进行解析,提取该查询语句的关键信息,此外,由于同一关键词对应唯一的结构化查询语句,通过确定各个关键词对应的结构化查询语句,能够确保开发的数据库脚本的一致性,与此同时,根据各个关键词对应的结构化查询语句生成该查询语句对应的数据库脚本,实现了数据库脚本开发的智能化处理,从而能够缩短数据库脚本的开发周期,提高数据库脚本的开发效率和准确率,大大减少了开发人员的工作量,对数据库的操作更加灵活。
进一步地,作为图1的具体实现,本发明实施例提供了一种生成数据库脚本的装置,如图3所示,所述装置包括:获取单元31、分词单元32,生成单元33。
所述获取单元31,可以用于获取待生成数据库脚本的查询语句。所述获取单元31是本装置中获取待生成数据库脚本的查询语句的主要功能模块。
所述分词单元32,可以用于利用预设分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词。所述分词单元32是本装置中利用预设分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词的主要功能模块,也是核心模块。
所述生成单元33,可以用于根据所述查询语句对应的各个关键词,确定所述各个关键词对应的结构化查询语句,并根据所述各个关键词对应的结构化查询语句生成所述查询语句对应的数据库脚本。所述生成单元33是本装置中根据所述查询语句对应的各个关键词,确定所述各个关键词对应的结构化查询语句,并根据所述各个关键词对应的结构化查询语句生成所述查询语句对应的数据库脚本的主要功能模块,也是核心模块。
对于本发明实施例,为了生成查询语句对应的数据库脚本,所述生成单元33,包括:确定模块331和拼接模块332。
所述确定模块331,可以用于根据所述查询语句对应的各个关键词查询预设结构化查询语句列表,确定所述各个关键词对应的结构化查询语句。
所述拼接模块332,可以用于将所述各个关键词对应的结构化查询语句拼接成所述查询语句对应的数据库脚本。
进一步地,为了将各个关键词对应的结构化查询语句拼成数据库脚本,所述拼接模块332,具体可以用于按照预设结构化查询语句逻辑顺序将所述各个关键词对应的结构化查询语句拼接成所述查询语句对应的数据库脚本。
对于本发明实施例,为了获取待生成数据库脚本的查询语句,所述获取单元31,包括:接收模块311和获取模块312。
所述接收模块311,可以用于接收数据库脚本生成指令,并弹出待生成数据库脚本的查询语句输入界面。
所述获取模块312,可以用于获取用户按照预设查询描述模板在所述界面中输入的查询语句。
进一步地,所述预设查询描述模板包括预设查询模块、预设条件模块和预设结果模块,所述获取模块312,可以用于获取用户按照所述预设查询模块、所述预设条件模块和所述预设结果模块在所述界面中输入的查询语句。
此外,所述预设查询模块包括所述用户查询对象的表名信息,所述预设结果模块包括所述用户查询对象的字段信息,所述预设条件模块包括所述用户查询对象的条件信息。
进一步地,所述预设分词算法为预设hanlp分词算法,所述分词单元32,具体可以用于根据预设关键词词库,利用所述预设hanlp分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词。
需要说明的是,本发明实施例提供的一种生成数据库脚本的装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获取待生成数据库脚本的查询语句;利用预设分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词;根据所述查询语句对应的各个关键词,确定所述各个关键词对应的结构化查询语句,并根据所述各个关键词对应的结构化查询语句生成所述查询语句对应的数据库脚本。
基于上述如图1所示方法和如图3所示装置的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图5所示,该计算机设备包括:处理器41、存储器42、及存储在存储器42上并可在处理器上运行的计算机程序,其中存储器42和处理器41均设置在总线43上所述处理器41执行所述程序时实现以下步骤:获取待生成数据库脚本的查询语句;利用预设分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词;根据所述查询语句对应的各个关键词,确定所述各个关键词对应的结构化查询语句,并根据所述各个关键词对应的结构化查询语句生成所述查询语句对应的数据库脚本。
通过本发明的技术方案,本发明通过将获取的待生成数据库脚本的查询语句进行分词处理,得到各个查询语句对应的关键词,能够对待生成数据库脚本的查询语句进行解析,提取该查询语句的关键信息,此外,由于同一关键词对应唯一的结构化查询语句,通过确定各个关键词对应的结构化查询语句,能够确保开发的数据库脚本的一致性,与此同时,根据各个关键词对应的结构化查询语句生成该查询语句对应的数据库脚本,实现了数据库脚本开发的智能化处理,从而能够缩短数据库脚本的开发周期,提高数据库脚本的开发效率和准确率,大大减少了开发人员的工作量,对数据库的操作更加灵活。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种生成数据库脚本的方法,其特征在于,包括:
获取待生成数据库脚本的查询语句;
利用预设分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词;
根据所述查询语句对应的各个关键词,确定所述各个关键词对应的结构化查询语句,并根据所述各个关键词对应的结构化查询语句生成所述查询语句对应的数据库脚本。
2.根据权利要求1所述的方法,其特征在于,所述根据所述查询语句对应的各个关键词,确定所述各个关键词对应的结构化查询语句,并根据所述各个关键词对应的结构化查询语句生成所述查询语句对应的数据库脚本,包括:
根据所述查询语句对应的各个关键词查询预设结构化查询语句列表,确定所述各个关键词对应的结构化查询语句;
将所述各个关键词对应的结构化查询语句拼接成所述查询语句对应的数据库脚本。
3.根据权利要求2所述的方法,其特征在于,所述将所述各个关键词对应的结构化查询语句拼接成所述查询语句对应的数据库脚本,包括:
按照预设结构化查询语句逻辑顺序将所述各个关键词对应的结构化查询语句拼接成所述查询语句对应的数据库脚本。
4.根据权利要求1所述的方法,其特征在于,所述获取待生成数据库脚本的查询语句,包括:
接收数据库脚本生成指令,并弹出待生成数据库脚本的查询语句输入界面;
获取用户按照预设查询描述模板在所述界面中输入的查询语句。
5.根据权利要求4所述的方法,其特征在于,所述预设查询描述模板包括预设查询模块、预设条件模块和预设结果模块,所述获取用户按照预设查询描述模板在所述界面中输入的查询语句,包括:
获取用户按照所述预设查询模块、所述预设条件模块和所述预设结果模块在所述界面中输入的查询语句。
6.根据权利要求5所述的方法,其特征在于,所述预设查询模块包括所述用户查询对象的表名信息,所述预设结果模块包括所述用户查询对象的字段信息,所述预设条件模块包括所述用户查询对象的条件信息。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述预设分词算法为预设hanlp分词算法,所述利用预设分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词,包括:
根据预设关键词词库,利用所述预设hanlp分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词。
8.一种生成数据库脚本的装置,其特征在于,包括:
获取单元,用于获取待生成数据库脚本的查询语句;
分词单元,用于利用预设分词算法对所述查询语句进行分词处理,得到所述查询语句对应的各个关键词;
生成单元,用于根据所述查询语句对应的各个关键词,确定所述各个关键词对应的结构化查询语句,并根据所述各个关键词对应的结构化查询语句生成所述查询语句对应的数据库脚本。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911063069.8A CN110888876A (zh) | 2019-10-31 | 2019-10-31 | 生成数据库脚本的方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911063069.8A CN110888876A (zh) | 2019-10-31 | 2019-10-31 | 生成数据库脚本的方法、装置、存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110888876A true CN110888876A (zh) | 2020-03-17 |
Family
ID=69746829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911063069.8A Pending CN110888876A (zh) | 2019-10-31 | 2019-10-31 | 生成数据库脚本的方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110888876A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199387A (zh) * | 2020-11-16 | 2021-01-08 | 广州速威智能系统科技有限公司 | 数据库查询语句的处理方法和系统 |
CN112506931A (zh) * | 2020-12-15 | 2021-03-16 | 平安银行股份有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN112947910A (zh) * | 2021-04-26 | 2021-06-11 | 平安普惠企业管理有限公司 | 脚本生成方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615172B1 (en) * | 1999-11-12 | 2003-09-02 | Phoenix Solutions, Inc. | Intelligent query engine for processing voice based queries |
CN103646032A (zh) * | 2013-11-11 | 2014-03-19 | 漆桂林 | 一种基于本体和受限自然语言处理的数据库查询方法 |
CN104021198A (zh) * | 2014-06-16 | 2014-09-03 | 北京理工大学 | 基于本体语义索引的关系数据库信息检索方法及装置 |
CN105930362A (zh) * | 2016-04-12 | 2016-09-07 | 晶赞广告(上海)有限公司 | 搜索目标识别方法、装置及终端 |
CN109145014A (zh) * | 2017-06-15 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 生成弹性搜索请求的方法和装置 |
CN109408526A (zh) * | 2018-10-12 | 2019-03-01 | 平安科技(深圳)有限公司 | Sql语句生成方法、装置、计算机设备及存储介质 |
-
2019
- 2019-10-31 CN CN201911063069.8A patent/CN110888876A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615172B1 (en) * | 1999-11-12 | 2003-09-02 | Phoenix Solutions, Inc. | Intelligent query engine for processing voice based queries |
CN103646032A (zh) * | 2013-11-11 | 2014-03-19 | 漆桂林 | 一种基于本体和受限自然语言处理的数据库查询方法 |
CN104021198A (zh) * | 2014-06-16 | 2014-09-03 | 北京理工大学 | 基于本体语义索引的关系数据库信息检索方法及装置 |
CN105930362A (zh) * | 2016-04-12 | 2016-09-07 | 晶赞广告(上海)有限公司 | 搜索目标识别方法、装置及终端 |
CN109145014A (zh) * | 2017-06-15 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 生成弹性搜索请求的方法和装置 |
CN109408526A (zh) * | 2018-10-12 | 2019-03-01 | 平安科技(深圳)有限公司 | Sql语句生成方法、装置、计算机设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199387A (zh) * | 2020-11-16 | 2021-01-08 | 广州速威智能系统科技有限公司 | 数据库查询语句的处理方法和系统 |
CN112506931A (zh) * | 2020-12-15 | 2021-03-16 | 平安银行股份有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN112947910A (zh) * | 2021-04-26 | 2021-06-11 | 平安普惠企业管理有限公司 | 脚本生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726298B (zh) | 适用于科技文献的知识图谱构建方法、系统、终端及介质 | |
KR102361153B1 (ko) | 데이터 유형에 관련된 데이터 프로파일링 동작 관리 | |
CN108829884B (zh) | 数据映射方法及装置 | |
US20150169544A1 (en) | Generating a Superset of Question/Answer Action Paths Based on Dynamically Generated Type Sets | |
CN109313547B (zh) | 用于cpu利用率和代码重构的查询优化器 | |
US11514034B2 (en) | Conversion of natural language query | |
CN110888876A (zh) | 生成数据库脚本的方法、装置、存储介质及计算机设备 | |
CN112214584A (zh) | 使用知识图利用实体关系来发现答案 | |
CN111435406A (zh) | 一种纠正数据库语句拼写错误的方法和装置 | |
CN109144879B (zh) | 测试分析方法及装置 | |
CN114090671A (zh) | 数据导入方法、装置、电子设备及存储介质 | |
CN111221852A (zh) | 基于大数据的混合查询处理方法及装置 | |
CN112970011B (zh) | 记录查询优化中的谱系 | |
CN116894434A (zh) | 语法纠错方法及电子设备 | |
CN110895529B (zh) | 结构化查询语言的处理方法及相关装置 | |
US9201937B2 (en) | Rapid provisioning of information for business analytics | |
US11900918B2 (en) | Method for training a linguistic model and electronic device | |
CN113468258A (zh) | 一种异构数据的转换方法、装置及存储介质 | |
CN113076733A (zh) | 一种文本匹配方法、终端设备及存储介质 | |
CN112988778A (zh) | 一种处理数据库查询脚本的方法和装置 | |
CN111813846A (zh) | 一种数据分析处理系统和数据处理方法 | |
CN110609854A (zh) | 字段名查询方法、系统、电子设备及计算机存储介质 | |
CN111159218B (zh) | 数据处理方法、装置及可读存储介质 | |
CN110659345B (zh) | 事实报表的数据推送方法、装置、设备及存储介质 | |
CN118210809B (zh) | 一种基于er信息的对象定义方法、系统、设备以及介质 |
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 |