CN108334621B - 数据库操作方法、装置、设备及计算机可读存储介质 - Google Patents
数据库操作方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108334621B CN108334621B CN201810128455.XA CN201810128455A CN108334621B CN 108334621 B CN108334621 B CN 108334621B CN 201810128455 A CN201810128455 A CN 201810128455A CN 108334621 B CN108334621 B CN 108334621B
- Authority
- CN
- China
- Prior art keywords
- database
- data table
- data
- tested
- unit
- 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.)
- Active
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/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/21—Design, administration or maintenance of databases
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Abstract
本发明实施例公开了一种数据库操作方法、装置、设备及计算机可读存储介质,其中所述方法包括确定数据库中待测试的数据表;将所述待测试表的特征参数以及数据操纵语言导入到xml文件中;根据预设的转换规则将xml文件中的内容转换成sql语句;通过预设函数运行所述sql语句以实现数据库的相应操作。本发明可以使得数据库中的相关操作更为直观,且对数据库的维护更为简单。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据库操作方法、装置、设备及计算机可读存储介质。
背景技术
在java自动化测试过程中,使用dbunit来准备或删除数据等操作必须要用上主键,即在对数据库中的数据进行处理时必须使用主键是dbunit的源码限制。主键是数据库的表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录,因此对于一些表无主键的场景,就无法实现准备或删除数据等操作。
发明内容
本发明实施例提供一种数据库操作方法、装置、设备及计算机可读存储介质,能够使得数据库中的相关操作更为直观,且对数据库的维护更为简单。
一方面,本发明实施例提供了一种数据库操作方法,该方法包括:
确定数据库中待测试的数据表;
将所述待测试的数据表的特征参数以及数据操纵语言导入到xml文件中;
根据预设的转换规则将xml文件中的内容转换成sql语句;
通过预设函数运行所述sql语句以实现数据库的相应操作。
进一步地,所述确定数据库中待测试的数据表包括:
获取数据库中数据表的特征参数,所述特征参数至少包括表名以及表描述信息;
根据预设的选择规则以及所述数据表的特征参数确定待测试的数据表。
进一步地,所述特征参数还包括数据值,所述表描述信息包括字段名以及字段类型。
进一步地,根据预设的转换规则将xml文件中的内容转换成sql语句包括:
通过迭代器循环读取所述xml文件中的内容;
根据sql语法规则将读取到的所述xml文件中的内容拼接成为sql语句;
将所述sql语句存储到字符串缓冲区中。
进一步地,所述通过预设函数运行所述sql语句以实现数据库的相应操作包括:
若接收数据库操作指令,从所述字符串缓冲区中调取相应的sql语句;
将所调取的sql语句导入所述预设函数,以实现数据库的相应操作。
另一方面,本发明实施例还提供了一种数据库操作装置,该装置包括:
确定单元,用于确定数据库中待测试的数据表;
导入单元,用于将所述待测试的数据表的特征参数以及数据操纵语言导入到xml文件中;
转换单元,用于根据预设的转换规则将xml文件中的内容转换成sql语句;
运行单元,用于通过预设函数运行所述sql语句以实现数据库的相应操作。
进一步地,所述确定单元,包括:
获取单元,用于获取数据库中数据表的特征参数,所述特征参数至少包括表名以及表描述信息;
调整单元,用于根据预设的选择规则以及所述数据表的特征参数确定待测试的数据表。
进一步地,所述转换单元包括:
读取单元,用于通过迭代器循环读取所述xml文件中的内容;
拼接单元,用于根据sql语法规则将读取到的所述xml文件中的内容拼接成为sql语句;
存储单元,用于将所述sql语句存储到字符串缓冲区中。
又一方面,本发明实施例还提供了一种数据库操作设备,包括:
存储器,用于存储实现数据库操作的程序;以及
处理器,用于运行所述存储器中存储的实现数据库操作的程序,以执行如上所述方法。
再一方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现如上所述方法。
本发明实施例通过确定数据库中待测试的数据表;将所述待测试的数据表的特征参数以及数据操纵语言导入到xml文件中;根据预设的转换规则将xml文件中的内容转换成sql语句;通过预设函数运行所述sql语句以实现数据库的相应操作,从而能够使得数据库在无主键的场景下实现相应的准备或删除数据的操作,便于直观地实现数据库的操作,同时也使得数据库的维护更为方便。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据库操作方法的示意流程图;
图2是本发明实施例提供的一种数据库操作方法的另一示意流程图;
图3是本发明实施例提供的一种数据库操作方法的另一示意流程图;
图4是本发明实施例提供的一种数据库操作方法的另一示意流程图;
图5是本发明实施例提供的一种数据库操作装置的示意性框图;
图6是本发明实施例提供的一种数据库操作装置的另一示意性框图;
图7是本发明实施例提供的一种数据库操作装置的另一示意性框图;
图8是本发明实施例提供的一种数据库操作装置的另一示意性框图;
图9是本发明实施例提供的一种数据库操作设备结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
请参阅图1,图1是本发明实施例提供的一种数据库操作方法的示意流程图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑、笔记本电脑以及智能设备等终端中。如图1所示,该方法的步骤包括S101~S104。
S101,确定数据库中待测试的数据表。
在本发明实施例中,可以在一定条件下对数据库中的数据表进行筛查,从而确定待测试的数据表。具体的,可以根据数据库中数据表的特征参数等来确定需要进行测试的数据表,并根据确定的待测试的数据表进行相应的操作。
进一步地,如图2所示,所述步骤S101包括步骤S201~S202。
S201,获取数据库中数据表的特征参数,所述特征参数至少包括表名以及表描述信息。
在本发明实施例中,所述表名可以指向其所代表的一个数据表。在一些实施例中,所述表描述信息可以包括字段名以及字段类型。例如,获取数据库中表的特征参数,即表示可以获取数据库中的表名以及每个数据表中的字段名以及字段类型。当然,在本发明实施例中,对于特征参数所包括的具体的参数类型并不进行限制,即特征参数还可以包括数据表中其他的参数类型,如数据表中的数据值等。
S202,根据预设的选择规则以及所述数据表的特征参数确定待测试的数据表。
在本发明实施例中,所述的预设的选择规则可以是通过对表的特征参数的限定来确定待测试的数据表,从而方便用户在测试过程中具有更加灵活的操作和选择,提高用户的使用体验度。例如,可以通过选择表名来确定待测试的数据表,也可以通过选择字段名来确定待测试的数据表,也可以根据字段类型来确定待测试的数据表,也可以通过表名、字段名以及字段类型三者进行其他组合时所确定待测试的数据表。另外,也可以根据数据表中的数据值确定待测试的数据表。当然,也可以根据其他的特征参数来确定待测试的数据表。
S102,将所述待测试的数据表的特征参数以及数据操纵语言导入到xml文件中。
在本发明实施例中,所述待测的数据表的特征参数也可以包括表名、表描述信息以及表中的数据值,所述表描述信息可以包括字段名以及字段类型等,其中每个字段名下对应地设有若干数据值。所述数据操纵语言(DML)可以实现对数据库的基本操作,如可实现对数据表中数据值的插入、删除、更新和选择等。所述插入是指向数据库的数据表中插入数据,删除是指从数据库的数据表中删除数据,更新是指更新数据库的数据表中的数据,选择是指从数据库的数据表中获取数据。一般情况下,可以将所述待测试的数据表的特征参数连同数据操纵语言DML一起导入到xml文件中,从而将所述待测试的数据表的特征参数以及数据操纵语言DML变为xml文件中的内容。其中,xml文件为可扩展标记语言文件,可以被设计用来结构化、存储以及传输信息。
S103,根据预设的转换规则将xml文件中的内容转换成sql语句。
在本发明实施例中,所述预设的转换规则可以是自定义的,其中,sql语句为结构化查询语言语句,作为关系数据库系统中使用最为广泛的语言,不仅简单易学,兼容性好,而且对数据的操作方便快捷,故将将xml文件中的内容转换成sql语句能使得读数据的处理更为快速准确。再者,所述xml文件是按照一定格式写的,比如可以表示为<表名字段1="内容"/>。
进一步地,如图3所示,所述步骤S103可以包括步骤S301~S303。其中,
S301,通过迭代器循环读取所述xml文件中的内容。
在本发明实施例中,由于xml是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据。所述迭代器(Iterator)能够遍历访问所述xml文件中的内容,即遍历所述xml文件中的内容,也即所述xml文件中的各个元素,此处的各个元素具体是指导入到xml文件中的所述待测试的数据表的特征参数以及数据操纵语言DML。
S302,根据sql语法规则将读取到的所述xml文件中的内容拼接成为sql语句。
在本发明实施例中,sql语法规则是指sql语言是由命令(函数)、子句、运算符、加总函数及通配符等组合而成的。sql的命令可分成数据定义语言与数据xx作语言,数据定义语言可用来建立新的数据库、数据表、字段及索引等,数据定义语言命令常用的有选择、插入、删除和更新;数据xx作语言可用来建立查询表、排序、筛选数据、修改、增删等动作。子句是用于设定命令要xx作的对象(即参数),可以包括指定数据表、设定条件、设定分组以及设定输出的顺序及字段。子句参数中的运算符使子句构成不同的语法格式,如“字段1=”100””、“字段1>”100””等。运算符又分逻辑运算符与比较运算符。加总函数常常运用在命令的参数中,如:“SELECT SUM(数学),AVG(数学)FROM成绩单”。通配符百分比(%)表示任何长度的字符串(包括0),通配符下划线(_)表示任何一个字符,通配符中括号([])表示某个范围内的一个字符。
通过命令(函数)、子句、运算符、加总函数及通配符组合,可以将数据操纵语言DML以及所述待测试的数据表的特征参数拼接转化成相应的sql语句。
例如,一个数据库通常可以包含一个或多个数据表。每个数据表有一个名字标识(例如“客户”)。数据表包含带有数据的记录(行)。
下面的例子是一个名为"Persons"的数据表,如表一所示:
表一
上面的数据表包含三条记录(每一条对应一个人)和五个列(Id、姓、名、地址和城市)。
S303,将所述sql语句存储到字符串缓冲区中。
在本发明实施例中,所述字符串缓冲区(StringBuffer)是一个容器,且长度可变,可以直接操作多个数据类型,其还可以包含有多个字符的字符串数据,且其包含的对象是可以扩充和修改的。为了方便对步骤S302中拼接得到的sql语句进行及时有效地调用,需要用到所述字符串缓冲区StringBuffer,即将sql语句存储到字符串缓冲区StringBuffer中。
S104,通过预设函数运行所述sql语句以实现数据库的相应操作。
在本发明实施例中,该预设函数是能够运行sql语句的函数,作为优选的,所述预设函数可以是sqlexecute,所述sqlexecute是ODBC中的一个API函数,用来执行sql语句。所述ODBC即开放数据库互连,提供了一组对数据库访问的标准应用程序编程接口API。
进一步地,如图4所示,所述步骤S104包括步骤S401~S402。
S401,若接收数据库操作指令,从所述字符串缓冲区中调取相应的sql语句。
在本发明实施例中,可以判断是否接收到数据库操作指令,若接收到数据库操作指令,则可以分析该数据库操作指令具体需要进行的操作,从而对数据库中的待测试的数据表中的数据值进行处理,即可以根据指令从所述字符串缓冲区StringBuffer中调取与接收到的数据库操作指令相应的sql语句。例如,如步骤S302中的表一,可以通过下面的sql语句从表一中选取LastName列的数据值,该对应的sql语句为“SELECT LastName FROMPersons”。
S402,将所调取的sql语句导入所述预设函数,以实现数据库的相应操作。
在本发明实施例中,例如,对应步骤S302中的表一,通过预设函数执行S401中的sql语句得到的结果集可以如下表二所示:
表二
即,根据相应的数据库操作指令,可以从字符串缓冲区StringBuffer中调取相应的sql语句,并将该sql语句导入所述预设函数中,即可以是将该sql语句导入sqlexecute中,从而实现对数据库中待测试的数据表中的数据值的的插入、删除、更新和选择等操作。
综上,本发明实施例能够使得数据库在无主键的场景下实现数据表中的相应的内容的准备或删除数据的操作,便于直观地实现数据库的操作,同时也使得数据库的维护更为方便。
本领域普通技术员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
请参阅图5,对应上述一种数据库操作方法,本发明实施例还提出一种数据库操作装置,该装置100包括:确定单元101、导入单元102、转换单元103以及运行单元104。其中,
所述确定单元101,用于确定数据库中待测试的数据表。
在本发明实施例中,可以在一定条件下对数据库中的数据表进行筛查,从而确定待测试的数据表。具体的,可以根据数据库中数据表的特征参数等来确定需要进行测试的数据表,并根据确定的待测试的数据表进行相应的操作。
进一步地,如图6所示,所述确定单元101包括:获取单元201以及调整单元202。其中,
所述获取单元201,用于获取数据库中数据表的特征参数,所述特征参数至少包括表名以及表描述信息。
在本发明实施例中,所述表名可以指向其所代表的一个数据表。在一些实施例中,所述表描述信息可以包括字段名以及字段类型。例如,获取数据库中表的特征参数,即表示可以获取数据库中的表名以及每个数据表中的字段名以及字段类型。当然,在本发明实施例中,对于特征参数所包括的具体的参数类型并不进行限制,即特征参数还可以包括数据表中其他的参数类型,如数据表中的数据值等。
所述调整单元202,用于根据预设的选择规则以及所述数据表的特征参数确定待测试的数据表。
在本发明实施例中,所述的预设的选择规则可以是通过对表的特征参数的限定来确定待测试的数据表,从而方便用户在测试过程中具有更加灵活的操作和选择,提高用户的使用体验度。例如,可以通过选择表名来确定待测试的数据表,也可以通过选择字段名来确定待测试的数据表,也可以根据字段类型来确定待测试的数据表,也可以通过表名、字段名以及字段类型三者进行其他组合时所确定待测试的数据表。另外,也可以根据数据表中的数据值确定待测试的数据表。当然,也可以根据其他的特征参数来确定待测试的数据表。
所述导入单元102,用于将所述待测试的数据表的特征参数以及数据操纵语言导入到xml文件中。
在本发明实施例中,所述待测的数据表的特征参数也可以包括表名、表描述信息以及表中的数据值,所述表描述信息可以包括字段名以及字段类型等,其中每个字段名下对应地设有若干数据值。所述数据操纵语言(DML)可以实现对数据库的基本操作,如可实现对数据表中数据值的插入、删除、更新和选择等。所述插入是指向数据库的数据表中插入数据,删除是指从数据库的数据表中删除数据,更新是指更新数据库的数据表中的数据,选择是指从数据库的数据表中获取数据。一般情况下,可以将所述待测试的数据表的特征参数连同数据操纵语言DML一起导入到xml文件中,从而将所述待测试的数据表的特征参数以及数据操纵语言DML变为xml文件中的内容。其中,xml文件为可扩展标记语言文件,可以被设计用来结构化、存储以及传输信息。
所述转换单元103,用于根据预设的转换规则将xml文件中的内容转换成sql语句。
在本发明实施例中,所述预设的转换规则可以是自定义的,其中,sql语句为结构化查询语言语句,作为关系数据库系统中使用最为广泛的语言,不仅简单易学,兼容性好,而且对数据的操作方便快捷,故将将xml文件中的内容转换成sql语句能使得读数据的处理更为快速准确。再者,所述xml文件是按照一定格式写的,比如可以表示为<表名字段1="内容"/>。
进一步地,如图7所示,所述转换单元103包括:读取单元301、拼接单元302以及存储单元303。其中,
所述读取单元301,用于通过迭代器循环读取所述xml文件中的内容。
在本发明实施例中,由于xml是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据。所述迭代器(Iterator)能够遍历访问所述xml文件中的内容,即遍历所述xml文件中的内容,也即所述xml文件中的各个元素,此处的各个元素具体是指导入到xml文件中的所述待测试的数据表的特征参数以及数据操纵语言DML。
所述拼接单元302,用于根据sql语法规则将读取到的所述xml文件中的内容拼接成为sql语句。
在本发明实施例中,sql语法规则是指sql语言是由命令(函数)、子句、运算符、加总函数及通配符等组合而成的。sql的命令可分成数据定义语言与数据xx作语言,数据定义语言可用来建立新的数据库、数据表、字段及索引等,数据定义语言命令常用的有选择、插入、删除和更新;数据xx作语言可用来建立查询表、排序、筛选数据、修改、增删等动作。子句是用于设定命令要xx作的对象(即参数),可以包括指定数据表、设定条件、设定分组以及设定输出的顺序及字段。子句参数中的运算符使子句构成不同的语法格式,如“字段1=”100””、“字段1>”100””等。运算符又分逻辑运算符与比较运算符。加总函数常常运用在命令的参数中,如:“SELECT SUM(数学),AVG(数学)FROM成绩单”。通配符百分比(%)表示任何长度的字符串(包括0),通配符下划线(_)表示任何一个字符,通配符中括号([])表示某个范围内的一个字符。
通过命令(函数)、子句、运算符、加总函数及通配符组合,可以将数据操纵语言DML以及所述待测试的数据表的特征参数拼接转化成相应的sql语句。
例如,一个数据库通常可以包含一个或多个数据表。每个数据表有一个名字标识(例如“客户”)。数据表包含带有数据的记录(行)。
下面的例子是一个名为"Persons"的数据表,如表一所示:
表一
上面的数据表包含三条记录(每一条对应一个人)和五个列(Id、姓、名、地址和城市)。
所述存储单元303,用于将所述sql语句存储到字符串缓冲区中。
在本发明实施例中,所述字符串缓冲区(StringBuffer)是一个容器,且长度可变,可以直接操作多个数据类型,其还可以包含有多个字符的字符串数据,且其包含的对象是可以扩充和修改的。为了方便对拼接单元302中拼接得到的sql语句进行及时有效地调用,需要用到所述字符串缓冲区StringBuffer,即将sql语句存储到字符串缓冲区StringBuffer中。
所述运行单元104,用于通过通过预设函数运行所述sql语句以实现数据库的相应操作。
在本发明实施例中,该预设函数是能够运行sql语句的函数,作为优选的,所述预设函数可以是sqlexecute,所述sqlexecute是ODBC中的一个API函数,用来执行sql语句。所述ODBC即开放数据库互连,提供了一组对数据库访问的标准应用程序编程接口API。
进一步地,如图8所示,所述运行单元104包括:调取单元401以及处理单元402。其中,
所述调取单元401,用于若接收数据库操作指令,从所述字符串缓冲区中调取相应的sql语句。
在本发明实施例中,可以判断是否接收到数据库操作指令,若接收到数据库操作指令,则可以分析该数据库操作指令具体需要进行的操作,从而对数据库中的待测试的数据表中的数据值进行处理,即可以根据指令从所述字符串缓冲区StringBuffer中调取与接收到的数据库操作指令相应的sql语句。例如,如步骤S302中的表一,可以通过下面的sql语句从表一中选取LastName列的数据值,该对应的sql语句为“SELECT LastName FROMPersons”。
所述处理单元402,用于将所调取的sql语句导入所述预设函数,以实现数据库的相应操作。
在本发明实施例中,例如,对应拼接单元302中的表一,通过预设函数执行所述调取单元401中的sql语句得到的结果集可以如下表二所示:
表二
即,根据相应的数据库操作指令,可以从字符串缓冲区StringBuffer中调取相应的sql语句,并将该sql语句导入所述预设函数中,即可以是将该sql语句导入sqlexecute中,从而实现对数据库中待测试的数据表中的数据值的的插入、删除、更新和选择等操作。
综上,本发明实施例能够使得数据库在无主键的场景下实现数据表中的相应的内容的准备或删除数据的操作,便于直观地实现数据库的操作,同时也使得数据库的维护更为方便。
由以上可见,在硬件实现上,以上确定单元101、导入单元102、转换单元103以及运行单元104等可以以硬件形式内嵌于或独立于数据库操作的装置中,也可以以软件形式存储于数据库操作装置的存储器中,以便处理器调用执行以上各个单元对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
上述数据库操作装置可以实现为一种计算机程序的形式,计算机程序可以在如图9所示的计算机设备上运行。
图9为本发明一种数据库操作设备的结构组成示意图。该设备可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。参照图9,该计算机设备500包括通过系统总线501连接的处理器502、非易失性存储介质503、内存储器504和网络接口505。其中,该计算机设备500的非易失性存储介质503可存储操作系统5031和计算机程序5032,该计算机程序5032被执行时,可使得处理器502执行一种数据库操作方法。该计算机设备500的处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器502执行一种数据库操作方法。计算机设备500的网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502执行如下操作:确定数据库中待测试的数据表;将所述待测试的数据表的特征参数以及数据操纵语言导入到xml文件中;根据预设的转换规则将xml文件中的内容转换成sql语句;通过预设函数运行所述sql语句以实现数据库的相应操作。
所述处理器502执行所述确定数据库中待测试的数据表具体包括执行:获取数据库中数据表的特征参数,所述特征参数至少包括表名以及表描述信息;根据预设的选择规则以及所述数据表的特征参数确定待测试的数据表。
所述处理器502执行所述根据预设的转换规则将xml文件中的内容转换成sql语句具体包括执行:通过迭代器循环读取所述xml文件中的内容;根据sql语法规则将读取到的所述xml文件中的内容拼接成为sql语句;将所述sql语句存储到字符串缓冲区中。
所述处理器502执行所述通过预设函数运行所述sql语句以实现数据库的相应操作具体包括执行:若接收数据库操作指令,从所述字符串缓冲区中调取相应的sql语句;将所调取的sql语句导入所述预设函数,以实现数据库的相应操作。
本领域技术人员可以理解,图9中示出的数据库操作设备的实施例并不构成对数据库操作设备具体构成的限定,在其他实施例中,数据库操作设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,数据库操作设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现以下步骤:确定数据库中待测试的数据表;将所述待测试的数据表的特征参数以及数据操纵语言导入到xml文件中;根据预设的转换规则将xml文件中的内容转换成sql语句;通过预设函数运行所述sql语句以实现数据库的相应操作。
该处理器实现所述确定数据库中待测试的数据表具体包括执行:获取数据库中数据表的特征参数,所述特征参数至少包括表名以及表描述信息;根据预设的选择规则以及所述数据表的特征参数确定待测试的数据表。
该处理器实现所述根据预设的转换规则将xml文件中的内容转换成sql语句具体包括实现:通过迭代器循环读取所述xml文件中的内容;根据sql语法规则将读取到的所述xml文件中的内容拼接成为sql语句;将所述sql语句存储到字符串缓冲区中。
该处理器实现所述通过预设函数运行所述sql语句以实现数据库的相应操作具体包括实现:若接收数据库操作指令,从所述字符串缓冲区中调取相应的sql语句;将所调取的sql语句导入所述预设函数,以实现数据库的相应操作。
本发明前述的存储介质包括:磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等各种可以存储程序代码的介质。
本发明所有实施例中的单元可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本发明实施例数据库操作方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例数据库操作终端中的单元可以根据实际需要进行合并、划分和删减。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种数据库操作方法,其特征在于,所述方法包括:
确定数据库中待测试的数据表;
将所述待测试的数据表的特征参数以及数据操纵语言导入到xml文件中;
通过迭代器循环读取所述xml文件中的内容;
根据sql语法规则将读取到的所述xml文件中的内容拼接成为sql语句;
将所述sql语句存储到字符串缓冲区中;
若接收数据库操作指令,从所述字符串缓冲区中调取相应的sql语句;
将所调取的sql语句导入预设函数,以实现数据库的相应操作,其中,所述相应操作包括插入、删除、更新和选择操作。
2.如权利要求1所述的方法,其特征在于,所述确定数据库中待测试的数据表,包括:
获取数据库中数据表的特征参数,所述特征参数至少包括表名以及表描述信息;
根据预设的选择规则以及所述数据表的特征参数确定待测试的数据表。
3.如权利要求2所述的方法,其特征在于,所述特征参数还包括数据值,所述表描述信息包括字段名以及字段类型。
4.一种数据库操作装置,其特征在于,所述装置包括:
确定单元,用于确定数据库中待测试的数据表;
导入单元,用于将所述待测试的数据表的特征参数以及数据操纵语言导入到xml文件中;
读取单元,用于通过迭代器循环读取所述xml文件中的内容;
拼接单元,用于根据sql语法规则将读取到的所述xml文件中的内容拼接成为sql语句;
存储单元,用于将所述sql语句存储到字符串缓冲区中;
运行单元,用于通过预设函数运行所述sql语句以实现数据库的相应操作。
5.如权利要求4所述的装置,其特征在于,所述确定单元,包括:
获取单元,用于获取数据库中数据表的特征参数,所述特征参数至少包括表名以及表描述信息;
调整单元,用于根据预设的选择规则以及所述数据表的特征参数确定待测试的数据表。
6.一种数据库操作设备,其特征在于,包括:
存储器,用于存储实现数据库操作的程序;以及
处理器,用于运行所述存储器中存储的实现数据库操作的程序,以执行如权利要求1-3任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现如权利要求1-3任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810128455.XA CN108334621B (zh) | 2018-02-08 | 2018-02-08 | 数据库操作方法、装置、设备及计算机可读存储介质 |
PCT/CN2018/085280 WO2019153547A1 (zh) | 2018-02-08 | 2018-05-02 | 数据库操作方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810128455.XA CN108334621B (zh) | 2018-02-08 | 2018-02-08 | 数据库操作方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108334621A CN108334621A (zh) | 2018-07-27 |
CN108334621B true CN108334621B (zh) | 2021-05-04 |
Family
ID=62928396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810128455.XA Active CN108334621B (zh) | 2018-02-08 | 2018-02-08 | 数据库操作方法、装置、设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108334621B (zh) |
WO (1) | WO2019153547A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115827677A (zh) * | 2023-01-10 | 2023-03-21 | 北京沐融信息科技股份有限公司 | 一种数据库操作的方法、装置及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9330149B2 (en) * | 2007-12-18 | 2016-05-03 | Oracle International Corporation | Techniques for query and DML over relational tables using spreadsheet applications |
CN103020112A (zh) * | 2012-11-06 | 2013-04-03 | 深圳中兴网信科技有限公司 | 异构数据库同步系统和异构数据库同步方法 |
CN103067483B (zh) * | 2012-12-25 | 2017-04-05 | 广东邮电职业技术学院 | 基于数据包的远程数据增量同步方法 |
US9569469B2 (en) * | 2013-07-26 | 2017-02-14 | Honeywell International Inc. | Methods and systems for providing intuitive direction for populating complex model content into a database |
CN105608088B (zh) * | 2014-11-19 | 2019-03-19 | 中国航空工业集团公司西安飞机设计研究所 | 一种基于配置文件的数据库自动创建与数据动态记录方法 |
CN105512042B (zh) * | 2015-12-22 | 2018-09-04 | 广东金赋科技股份有限公司 | 一种数据库的测试数据的自动生成方法、装置及测试系统 |
CN106095792A (zh) * | 2016-05-27 | 2016-11-09 | 中国银联股份有限公司 | 生成数据库操作代码的方法和装置 |
CN106570095B (zh) * | 2016-10-31 | 2020-01-07 | 凯美瑞德(苏州)信息科技股份有限公司 | 一种xml数据的操作方法及设备 |
CN106557568B (zh) * | 2016-11-14 | 2019-05-21 | 中国电子科技集团公司第二十八研究所 | 模式匹配的xml文件格式与关系数据库转换的处理方法 |
-
2018
- 2018-02-08 CN CN201810128455.XA patent/CN108334621B/zh active Active
- 2018-05-02 WO PCT/CN2018/085280 patent/WO2019153547A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2019153547A1 (zh) | 2019-08-15 |
CN108334621A (zh) | 2018-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177231B (zh) | 报表生成方法和报表生成装置 | |
CN110704398B (zh) | 从MySQL到Oracle的数据库迁移方法、装置及计算机设备 | |
US8006229B2 (en) | Program maintenance support device and program for the same | |
US7325188B1 (en) | Method and system for dynamically capturing HTML elements | |
US20160018962A1 (en) | User-interface for developing applications that apply machine learning | |
CN108874924B (zh) | 搜索服务的创建方法、装置及计算机可读存储介质 | |
US20030023638A1 (en) | Method and apparatus for processing content | |
CN108334609B (zh) | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN110334109B (zh) | 关系式数据库数据查询方法、系统、介质和电子设备 | |
CN109710220B (zh) | 关系型数据库查询方法、装置、设备及存储介质 | |
CN117238433B (zh) | 基于LibreOffice进行文档数据自动隔离的方法 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN110109981B (zh) | 工作队列的信息展示方法、装置、计算机设备和存储介质 | |
CN111190905A (zh) | 数据库表格处理方法、装置及电子设备 | |
CN108694172B (zh) | 信息输出方法和装置 | |
CN114185791A (zh) | 一种数据映射文件的测试方法、装置、设备及存储介质 | |
CN108664546B (zh) | Xml数据结构转换方法和装置 | |
CN108334621B (zh) | 数据库操作方法、装置、设备及计算机可读存储介质 | |
CN113448562A (zh) | 一种逻辑代码自动生成方法、装置和电子设备 | |
CN116028062A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
CN115033436A (zh) | 页面测试方法及装置、电子设备、存储介质 | |
CN115543428A (zh) | 一种基于策略模板的模拟数据生成方法和装置 | |
US20090228678A1 (en) | Mapping definition creation system and mapping definition creation program | |
CN111523294A (zh) | 基于pdf文件的批注分离的处理方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |