CN106547795A - 数据更新方法和装置 - Google Patents
数据更新方法和装置 Download PDFInfo
- Publication number
- CN106547795A CN106547795A CN201510609836.6A CN201510609836A CN106547795A CN 106547795 A CN106547795 A CN 106547795A CN 201510609836 A CN201510609836 A CN 201510609836A CN 106547795 A CN106547795 A CN 106547795A
- Authority
- CN
- China
- Prior art keywords
- updated
- data
- update
- many datas
- sentence
- 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
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/23—Updating
- G06F16/235—Update request formulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据更新方法和装置。其中,该方法包括:生成待更新的多条数据的更新条件,待更新的多条数据更新后的数据为相同的数据,更新条件为服务器在更新数据时查询待更新的多条数据的条件;利用更新条件生成一条用于更新待更新的多条数据的更新语句;以及将更新语句发送至服务器,以使服务器执行更新语句以更新待更新的多条数据。本申请解决了数据更新时与服务器之间数据传输流量大的技术问题。
Description
技术领域
本申请涉及数据处理领域,具体而言,涉及一种数据更新方法和装置。
背景技术
目前,对数据库里的数据批量更新的方式通常是从数据库中找出要更新的数据,每条要更新的数据生成一条更新(update)语句,然后将生成的更新语句发送给服务器,服务器执行每一条更新语句实现对数据的更新。这种方式虽然称之为批量更新,但其实质上仍然是对数据一条一条地更新,例如,使用LingToSpl实现对表的字段的更新均是对数据一条一条地更新,这导致需要多次向服务器发送更新请求,与服务器之间传输流量大,增大服务器压力,同时,如果数据量很大,数据更新的效率也非常低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据更新方法和装置,以至少解决数据更新时与服务器之间数据传输流量大的技术问题。
根据本申请实施例的一个方面,提供了一种数据更新方法,包括:生成待更新的多条数据的更新条件,所述待更新的多条数据更新后的数据为相同的数据,所述更新条件为服务器在更新数据时查询所述待更新的多条数据的条件;利用所述更新条件生成一条用于更新所述待更新的多条数据的更新语句;以及将所述更新语句发送至所述服务器,以使所述服务器执行所述更新语句以更新所述待更新的多条数据。
进一步地,生成待更新的多条数据的更新条件包括:获取所述待更新的多条数据所在的数据表的表名;根据所述表名和所述待更新的多条数据的条件表达式生成用于查询所述待更新的多条数据的查询语句;从所述查询语句中截取条件语句,作为所述更新条件。
进一步地,利用所述更新条件生成一条用于更新所述待更新的多条数据的更新语句包括:读取所述待更新的多条数据对应的值;获取目标新值,所述目标新值为所述待更新的多条数据更新后的数据对应的值;利用所述更新条件拼接成一条初始语句;
将所述待更新的多条数据对应的值和所述目标新值分别插入到所述初始语句,得到所述更新语句。
进一步地,读取所述待更新的多条数据对应的值包括:利用转换表达式读取所述待更新的多条数据对应的值,在读取到所述待更新的多条数据对应的值以及获取到所述目标新值之后,所述方法还包括:将所述待更新的多条数据对应的值和所述目标新值存储到占位符对象中。
根据本申请实施例的另一方面,还提供了一种数据更新方法,包括:服务器接收更新语句,所述更新语句为利用更新条件生成的一条用于更新待更新的多条数据的更新语句,其中,所述待更新的多条数据更新后的数据为相同的数据,所述更新条件为服务器在更新数据时查询所述待更新的多条数据的条件;所述服务器执行所述更新语句以更新所述待更新的多条数据。
根据本申请实施例的另一方面,还提供了一种数据更新装置,包括:第一生成单元,用于生成待更新的多条数据的更新条件,所述待更新的多条数据更新后的数据为相同的数据,所述更新条件为服务器在更新数据时查询所述待更新的多条数据的条件;第二生成单元,用于利用所述更新条件生成一条用于更新所述待更新的多条数据的更新语句;以及发送单元,用于将所述更新语句发送至所述服务器,以使所述服务器执行所述更新语句以更新所述待更新的多条数据。
进一步地,所述第一生成单元包括:第一获取模块,用于获取所述待更新的多条数据所在的数据表的表名;生成模块,用于根据所述表名和所述待更新的多条数据的条件表达式生成用于查询所述待更新的多条数据的查询语句;截取模块,用于从所述查询语句中截取条件语句,作为所述更新条件。
进一步地,所述第二生成单元包括:读取模块,用于读取所述待更新的多条数据对应的值;第二获取模块,用于获取目标新值,所述目标新值为所述待更新的多条数据更新后的数据对应的值;拼接模块,用于利用所述更新条件拼接成一条初始语句;插值模块,用于将所述待更新的多条数据对应的值和所述目标新值分别插入到所述初始语句,得到所述更新语句。
进一步地,所述读取模块用于利用转换表达式读取所述待更新的多条数据对应的值,所述装置还包括:存储单元,用于在读取到所述待更新的多条数据对应的值以及获取到所述目标新值之后,将所述待更新的多条数据对应的值和所述目标新值存储到占位符对象中。
根据本申请实施例的另一方面,还提供了一种数据更新装置,包括:接收单元,用于接收更新语句,所述更新语句为利用更新条件生成的一条用于更新待更新的多条数据的更新语句,其中,所述待更新的多条数据更新后的数据为相同的数据,所述更新条件为服务器在更新数据时查询所述待更新的多条数据的条件;执行单元,用于执行所述更新语句以更新所述待更新的多条数据。
根据本申请实施例,通过生成待更新的多条数据更新条件,利用该更新条件生成一条更新语句,并将更新语句发送至服务器,以使服务器接收到更新语句后执行更新语句,这样,将更新后的数据为相同的多条数据通过一条更新语句来更新,降低与服务器的传输流量,解决了数据更新时与服务器之间数据传输流量大的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例1的数据更新方法的流程图;
图2是根据本申请实施例2的数据更新方法的流程图;
图3是根据本申请实施例3的数据更新装置的示意图;
图4是根据本申请实施例4的数据更新装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,提供了一种数据更新方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的数据更新方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,生成待更新的多条数据的更新条件,所述待更新的多条数据更新后的数据为相同的数据,所述更新条件为服务器在更新数据时查询所述待更新的多条数据的条件。
待更新的多条数据更新后的数据为相同的数据,例如,待更新的数据为a、b和c,更新后的数据为d,在执行更新之后,数据a、b和c统一更新为数据d。
服务器在执行更新语句时,可以通过该更新条件来查询待更新的多条数据,然后对查询到的数据进行更新。由于采用更新条件,其查询到的数据可以是多条,因此,同一条更新语句可以同时更新多条数据。
步骤S104,利用更新条件生成一条用于更新待更新的多条数据的更新语句。
步骤S106,将更新语句发送至服务器,以使服务器接收到更新语句后执行更新语句以更新所述待更新的多条数据。
本申请实施例的数据更新方法可以由客户端来执行,客户端生成用于更新多条数据的一条更新语句之后,将该更新语句发送给服务器,由服务器来执行该更新语句以完成对待更新的多条数据的更新。
根据本申请实施例,通过生成待更新的多条数据更新条件,利用该更新条件生成一条更新语句,并将更新语句发送至服务器,以使服务器接收到更新语句后执行更新语句,这样,将更新后的数据为相同的多条数据通过一条更新语句来更新,降低与服务器的传输流量,解决了数据更新时与服务器之间数据传输流量大的技术问题。
优选地,生成待更新的多条数据的更新条件包括:获取待更新的多条数据所在的数据表的表名;根据表名和待更新的多条数据的条件表达式生成用于查询待更新的多条数据的查询语句;从查询语句中截取条件语句,作为更新条件。
在已知待更新的多条数据所在的数据表和字段的情况下,可以根据条件表达式从该数据表中找到待更新的数据行。具体地,可以根据表名和待更新的多条数据的条件表达式生成用于查询待更新的多条数据的查询语句,该查询语句中包含有查询的条件语句,例如where语句,截取该条件语句作为更新语句里的更新条件。
例如,有一张A表的有个字段为Name,有三条待更新的数据a,b,c;将这三条数据更新为d。其中更新条件的生成过程如下:
1、使用LinqToSql找到要更新的表,例如,对于数据a,则是:from a in dc.A
2、根据条件表达式找到要更新的行。例如上述三条数据的条件表达式为a=>a.Name==“a”||(||表示或者的意思)a.Name==“b”||a.Name==“c”。
3、根据上述linq语句和条件表达式生成的sql查询语句:
SELECT[t0].[Name]
FROM[dbo].[A]AS[t0]
WHERE([t0].[Name]=@p0)OR([t0].[Name]=@p1)OR([t0].[Name]=@p2)
4、截取where之后的条件语句([t0].[Name]=@p0)OR([t0].[Name]=@p1)OR([t0].[Name]=@p2)。
这样,得到更新条件以便于利用上述条件生成更新语句。
优选地,利用更新条件生成一条用于更新待更新的多条数据的更新语句包括:读取待更新的多条数据对应的值;获取目标新值,目标新值为待更新的多条数据更新后的数据对应的值;利用更新条件拼接成一条初始语句;将待更新的多条数据对应的值和目标新值分别插入到初始语句,得到更新语句。
可以采用现有技术中生成的更新语句,由于现有技术中的更新语句的更新条件为对一条语句的更新条件,在本申请实施例中,则利用前面生成的更新条件替换原有的更新条件,从而拼接成成一条初始语句,该初始语句为未插入参数值的更新语句,优选地,可以将更新条件作为初始语句中的where语句,通过拼接的方式生成初始语句,然后将待更新的多条数据的和更新后的数据的值即目标新值插入到该初始语句中,得到更新语句。由于更新条件中包含有查询多条数据的条件,因此,利用该更新条件生成的更新语句可以同时更新多条数据。
例如,
根据更新条件和待更新的数据的键值对拼接Update初始语句,如上面例子拼接完之后为:
Update dbo.A
Set Name=@Name
FROM dbo.A AS t0
WHERE([t0].[Name]=@p0)OR([t0].[Name]=@p1)OR([t0].[Name]=@p2)
再向上述初始语句中插入参数值,得到的更新语句为:
Update dbo.A
Set Name=‘d’
FROM dbo.A AS t0
WHERE([t0].[Name]=‘a’)OR([t0].[Name]=‘b’)OR([t0].[Name]=‘c’)
将该更新语句发送给服务器,由服务器来执行更新,即将a、b、c三条数据更新为数据d。
根据本申请实施例,通过将待更新的多条数据的值和目标新值插入到由更新条件生成的初始语句中,使得服务器在执行该条更新语句时,可以查到待更新的多条数据并将其更新为目标新值。
优选地,读取待更新的多条数据对应的值包括:利用转换表达式读取待更新的多条数据对应的值。在读取到待更新的多条数据对应的值以及获取到目标新值之后,方法还包括:将待更新的多条数据对应的值和目标新值存储到占位符对象中。在生成更新语句时,可以将该占位符对象中存储的参数分别插入到初始语句,形成更新语句。例如,可以通过向SQLCommand中加入存储到DbParameter对象的参数来将待更新的多条数据对应的值和目标新值分别插入到初始语句。其中,DbParameter是sqlcommand的属性而已,是一种占位符,在语句编译时会将占位符替换为对应的数据。Sqlcommand执行时相关数据采用的是DbParameter对应的值。占位符的方式优点是只需要写一次可以重复使用。
转换表达式可以是lambda表达式,利用lambda表达式取出待更新的多条数据,可以以键值对的形式取出,例如,键:Name,值:a。并将取出的值(包括目标新值和待更新的数据值)存储到占位符对象,该占位符对象可以是DbParameter对象,以便于在生成更新语句时,将这些值插入到更新语句中。
下面以一种应用场景描述本申请的一种可选的实施方式。
假设有一张A表的有个字段为Name,有三条待更新的数据a,b,c;将这三条数据更新为d。具体地更新过程如下:
1、使用LinqToSql找到要更新的表,例如,对于数据a,则是:from a in dc.A
2、根据条件表达式找到要更新的行。例如上述三条数据的条件表达式为a=>a.Name==“a”||(||表示或者的意思)a.Name==“b”||a.Name==“c”
3、根据上述linq语句和条件表达式生成sql查询语句为:
SELECT[t0].[Name]
FROM[dbo].[A]AS[t0]
WHERE([t0].[Name]=@p0)OR([t0].[Name]=@p1)OR([t0].[Name]=@p2)
4、截取where之后的条件语句([t0].[Name]=@p0)OR([t0].[Name]=@p1)OR([t0].[Name]=@p2)
5、转换表达式读取待更新的数据值,以键值对的形式放入DbParameter对象中。如上面的例子键:Name,值为c。
6、根据where条件语句和上述键值对拼接Update初始语句,如上面例子拼接完之后为:
Update dbo.A
Set Name=@Name
FROM dbo.A AS t0
WHERE([t0].[Name]=@p0)OR([t0].[Name]=@p1)OR([t0].[Name]=@p2)
7、通过向SQlCommand中的加入参数的值以完成将待更新的数据值以及目标新值插入到更新语句中。
8、最后和服务器交互的只有一条语句为:
Update dbo.A
Set Name=‘d’
FROM dbo.A AS t0
WHERE([t0].[Name]=‘a’)OR([t0].[Name]=‘b’)OR([t0].[Name]=‘c’)
这样,服务器执行上述语句即可实现对数据a、b、c的更新。
实施例2
根据本申请实施例,还提供了一种数据更新方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,具体地,可以在本申请实施例的服务器中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图2所示,该数据更新方法包括如下步骤:
步骤S202,服务器接收更新语句,更新语句为利用更新条件生成的一条用于更新待更新的多条数据的更新语句,其中,待更新的多条数据更新后的数据为相同的数据,更新条件为服务器在更新数据时查询待更新的多条数据的条件;
步骤S204,服务器执行更新语句以更新待更新的多条数据。
待更新的多条数据更新后的数据为相同的数据,例如,待更新的数据为a、b和c,更新后的数据为d,在执行更新之后,数据a、b和c统一更新为数据d。
服务器在执行更新语句时,可以通过该更新条件来查询待更新的多条数据,然后对查询到的数据进行更新。由于采用更新条件,其查询到的数据可以是多条,因此,同一条更新语句可以同时更新多条数据。
更新语句可以由客户端来生成,客户端生成用于更新多条数据的一条更新语句之后,将该更新语句发送给服务器,由服务器来执行该更新语句以完成对待更新的多条数据的更新。
根据本申请实施例,通过服务器接收利用该更新条件生成一条用于更新待更新的多条数据的更新语句,并执行更新语句以更新上述待更新的多条数据,这样,将更新后的数据为相同的多条数据通过一条更新语句来更新,降低与服务器的传输流量,解决了数据更新时与服务器之间数据传输流量大的技术问题。
实施例3
本申请实施例还提供了一种数据更新装置,该装置可以用于执行本申请实施例1的数据更新方法。如图3所示,该装置包括:第一生成单元301、第二生成单元303和发送单元305。
第一生成单元301用于生成待更新的多条数据的更新条件,待更新的多条数据更新后的数据为相同的数据,更新条件为服务器在更新数据时查询待更新的多条数据的条件。
待更新的多条数据更新后的数据为相同的数据,例如,待更新的数据为a、b和c,更新后的数据为d,在执行更新之后,数据a、b和c统一更新为数据d。
服务器在执行更新语句时,可以通过该更新条件来查询待更新的多条数据,然后对查询到的数据进行更新。由于采用更新条件,其查询到的数据可以是多条,因此,同一条更新语句可以同时更新多条数据。
第二生成单元303用于利用更新条件生成一条用于更新待更新的多条数据的更新语句。
发送单元305用于将更新语句发送至服务器,以使服务器执行更新语句以更新待更新的多条数据。
本申请实施例的数据更新装置可以设置在客户端上,第二生成单元303生成用于更新多条数据的一条更新语句之后,发送单元305将该更新语句发送给服务器,由服务器来执行该更新语句以完成对待更新的多条数据的更新。
根据本申请实施例,通过第一生成单元生成待更新的多条数据更新条件,第二生成单元利用该更新条件生成一条更新语句,发送单元将更新语句发送至服务器,以使服务器接收到更新语句后执行更新语句,这样,将更新后的数据为相同的多条数据通过一条更新语句来更新,降低与服务器的传输流量,解决了数据更新时与服务器之间数据传输流量大的技术问题。
优选地,第一生成单元包括:第一获取模块,用于获取待更新的多条数据所在的数据表的表名;生成模块,用于根据表名和待更新的多条数据的条件表达式生成用于查询待更新的多条数据的查询语句;截取模块,用于从查询语句中截取条件语句,作为更新条件。
在已知待更新的多条数据所在的数据表和字段的情况下,可以根据条件表达式从该数据表中找到待更新的数据行。具体地,可以根据表名和待更新的多条数据的条件表达式生成用于查询待更新的多条数据的查询语句,该查询语句中包含有查询的条件语句,例如where语句,截取该条件语句作为更新语句里的更新条件。
优选地,第二生成单元包括:读取模块,用于读取待更新的多条数据对应的值;第二获取模块,用于获取目标新值,目标新值为待更新的多条数据更新后的数据对应的值;拼接模块,用于利用更新条件拼接成一条初始语句;插值模块,用于将待更新的多条数据对应的值和目标新值分别插入到初始语句,得到更新语句。
可以采用现有技术中生成的更新语句,由于现有技术中的更新语句的更新条件为对一条语句的更新条件,在本申请实施例中,则利用前面生成的更新条件替换原有的更新条件,从而拼接成成一条初始语句,该初始语句为未插入参数值的更新语句,优选地,可以将更新条件作为初始语句中的where语句,通过拼接的方式生成初始语句,然后将待更新的多条数据的和更新后的数据的值即目标新值插入到该初始语句中,得到更新语句。由于更新条件中包含有查询多条数据的条件,因此,利用该更新条件生成的更新语句可以同时更新多条数据。
根据本申请实施例,通过将待更新的多条数据的值和目标新值插入到由更新条件生成的初始语句中,使得服务器在执行该条更新语句时,可以查到待更新的多条数据并将其更新为目标新值。
优选地,读取模块用于利用转换表达式读取待更新的多条数据对应的值,装置还包括:存储单元,用于在读取到待更新的多条数据对应的值以及获取到目标新值之后,将待更新的多条数据对应的值和目标新值存储到占位符对象中。在生成更新语句时,可以将该占位符对象中存储的参数分别插入到初始语句,形成更新语句。例如,可以通过向SQLCommand中加入存储到DbParameter对象的参数来将待更新的多条数据对应的值和目标新值分别插入到初始语句。其中,DbParameter是sqlcommand的属性而已,是一种占位符,在语句编译时会将占位符替换为对应的数据。Sqlcommand执行时相关数据采用的是DbParameter对应的值。占位符的方式优点是只需要写一次可以重复使用。
转换表达式可以是lambda表达式,利用lambda表达式取出待更新的多条数据,可以以键值对的形式取出,例如,键:Name,值:a。并将取出的值(包括目标新值和待更新的数据值)存储到占位符对象,该占位符对象可以是DbParameter对象,以便于在生成更新语句时,将这些值插入到更新语句中。
实施例4
本申请实施例还提供了一种数据更新装置,该装置可以设置在服务器上,用于执行本申请实施例2的数据更新方法。如图4所示,该装置包括:接收单元401和执行单元403.
接收单元401用于接收更新语句,更新语句为利用更新条件生成的一条用于更新待更新的多条数据的更新语句,其中,待更新的多条数据更新后的数据为相同的数据,更新条件为服务器在更新数据时查询待更新的多条数据的条件。
执行单元403用于执行更新语句以更新待更新的多条数据。
待更新的多条数据更新后的数据为相同的数据,例如,待更新的数据为a、b和c,更新后的数据为d,在执行更新之后,数据a、b和c统一更新为数据d。
服务器在执行更新语句时,可以通过该更新条件来查询待更新的多条数据,然后对查询到的数据进行更新。由于采用更新条件,其查询到的数据可以是多条,因此,同一条更新语句可以同时更新多条数据。
更新语句可以由客户端来生成,客户端生成用于更新多条数据的一条更新语句之后,将该更新语句发送给服务器,服务器上的接收单元接收该更新语句,并由执行单元来执行该更新语句以完成对待更新的多条数据的更新。
根据本申请实施例,通过接收单元接收利用该更新条件生成一条用于更新待更新的多条数据的更新语句,执行单元执行更新语句以更新上述待更新的多条数据,这样,将更新后的数据为相同的多条数据通过一条更新语句来更新,降低与服务器的传输流量,解决了数据更新时与服务器之间数据传输流量大的技术问题。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种数据更新方法,其特征在于,包括:
生成待更新的多条数据的更新条件,所述待更新的多条数据更新后的数据为相同的数据,所述更新条件为服务器在更新数据时查询所述待更新的多条数据的条件;
利用所述更新条件生成一条用于更新所述待更新的多条数据的更新语句;以及
将所述更新语句发送至所述服务器,以使所述服务器执行所述更新语句以更新所述待更新的多条数据。
2.根据权利要求1所述的方法,其特征在于,生成待更新的多条数据的更新条件包括:
获取所述待更新的多条数据所在的数据表的表名;
根据所述表名和所述待更新的多条数据的条件表达式生成用于查询所述待更新的多条数据的查询语句;
从所述查询语句中截取条件语句,作为所述更新条件。
3.根据权利要求1所述的方法,其特征在于,利用所述更新条件生成一条用于更新所述待更新的多条数据的更新语句包括:
读取所述待更新的多条数据对应的值;
获取目标新值,所述目标新值为所述待更新的多条数据更新后的数据对应的值;
利用所述更新条件拼接成一条初始语句;
将所述待更新的多条数据对应的值和所述目标新值分别插入到所述初始语句,得到所述更新语句。
4.根据权利要求3所述的方法,其特征在于,
读取所述待更新的多条数据对应的值包括:利用转换表达式读取所述待更新的多条数据对应的值,
在读取到所述待更新的多条数据对应的值以及获取到所述目标新值之后,所述方法还包括:将所述待更新的多条数据对应的值和所述目标新值存储到占位符对象中。
5.一种数据更新方法,其特征在于,包括:
服务器接收更新语句,所述更新语句为利用更新条件生成的一条用于更新待更新的多条数据的更新语句,其中,所述待更新的多条数据更新后的数据为相同的数据,所述更新条件为服务器在更新数据时查询所述待更新的多条数据的条件;
所述服务器执行所述更新语句以更新所述待更新的多条数据。
6.一种数据更新装置,其特征在于,包括:
第一生成单元,用于生成待更新的多条数据的更新条件,所述待更新的多条数据更新后的数据为相同的数据,所述更新条件为服务器在更新数据时查询所述待更新的多条数据的条件;
第二生成单元,用于利用所述更新条件生成一条用于更新所述待更新的多条数据的更新语句;以及
发送单元,用于将所述更新语句发送至所述服务器,以使所述服务器执行所述更新语句以更新所述待更新的多条数据。
7.根据权利要求6所述的装置,其特征在于,所述第一生成单元包括:
第一获取模块,用于获取所述待更新的多条数据所在的数据表的表名;
生成模块,用于根据所述表名和所述待更新的多条数据的条件表达式生成用于查询所述待更新的多条数据的查询语句;
截取模块,用于从所述查询语句中截取条件语句,作为所述更新条件。
8.根据权利要求6所述的装置,其特征在于,所述第二生成单元包括:
读取模块,用于读取所述待更新的多条数据对应的值;
第二获取模块,用于获取目标新值,所述目标新值为所述待更新的多条数据更新后的数据对应的值;
拼接模块,用于利用所述更新条件拼接成一条初始语句;
插值模块,用于将所述待更新的多条数据对应的值和所述目标新值分别插入到所述初始语句,得到所述更新语句。
9.根据权利要求8所述的装置,其特征在于,
所述读取模块用于利用转换表达式读取所述待更新的多条数据对应的值,
所述装置还包括:存储单元,用于在读取到所述待更新的多条数据对应的值以及获取到所述目标新值之后,将所述待更新的多条数据对应的值和所述目标新值存储到占位符对象中。
10.一种数据更新装置,其特征在于,包括:
接收单元,用于接收更新语句,所述更新语句为利用更新条件生成的一条用于更新待更新的多条数据的更新语句,其中,所述待更新的多条数据更新后的数据为相同的数据,所述更新条件为服务器在更新数据时查询所述待更新的多条数据的条件;
执行单元,用于执行所述更新语句以更新所述待更新的多条数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510609836.6A CN106547795A (zh) | 2015-09-22 | 2015-09-22 | 数据更新方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510609836.6A CN106547795A (zh) | 2015-09-22 | 2015-09-22 | 数据更新方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106547795A true CN106547795A (zh) | 2017-03-29 |
Family
ID=58365645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510609836.6A Pending CN106547795A (zh) | 2015-09-22 | 2015-09-22 | 数据更新方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106547795A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522303A (zh) * | 2018-11-13 | 2019-03-26 | 深圳市思迪信息技术股份有限公司 | 基于Excel配置的数据采集方法、装置及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609488A (zh) * | 2012-01-20 | 2012-07-25 | 北京星网锐捷网络技术有限公司 | 客户端及其数据查询方法、服务端和数据查询系统 |
CN103345501A (zh) * | 2013-06-27 | 2013-10-09 | 华为技术有限公司 | 数据库更新方法和装置 |
CN103544323A (zh) * | 2013-11-08 | 2014-01-29 | 中国农业银行股份有限公司 | 一种数据更新方法和装置 |
CN103678632A (zh) * | 2013-12-19 | 2014-03-26 | 成都市卓睿科技有限公司 | 在数据系统中快速更新数据的系统及方法 |
-
2015
- 2015-09-22 CN CN201510609836.6A patent/CN106547795A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609488A (zh) * | 2012-01-20 | 2012-07-25 | 北京星网锐捷网络技术有限公司 | 客户端及其数据查询方法、服务端和数据查询系统 |
CN103345501A (zh) * | 2013-06-27 | 2013-10-09 | 华为技术有限公司 | 数据库更新方法和装置 |
CN103544323A (zh) * | 2013-11-08 | 2014-01-29 | 中国农业银行股份有限公司 | 一种数据更新方法和装置 |
CN103678632A (zh) * | 2013-12-19 | 2014-03-26 | 成都市卓睿科技有限公司 | 在数据系统中快速更新数据的系统及方法 |
Non-Patent Citations (2)
Title |
---|
无: ""执行一条sql语句update多条记录实现思路"", 《HTTPS://WWW.JB51.NET/ARTICLE/40455.HTM》 * |
黄磊等: "《Access 2010中文版应用基础教程》", 31 January 2013, 北京交通大学出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522303A (zh) * | 2018-11-13 | 2019-03-26 | 深圳市思迪信息技术股份有限公司 | 基于Excel配置的数据采集方法、装置及计算机设备 |
CN109522303B (zh) * | 2018-11-13 | 2021-06-15 | 深圳市思迪信息技术股份有限公司 | 基于Excel配置的数据采集方法、装置及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165221A (zh) | 区块链的数据存储方法、装置、区块链节点及存储介质 | |
CN110276060B (zh) | 数据处理的方法以及装置 | |
CN102054000B (zh) | 数据查询方法、装置及系统 | |
CN106649729A (zh) | 日志运行方法及系统、客户端和服务器 | |
CN110059105A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN106649368A (zh) | 数据存储方法、装置和数据查询方法、装置 | |
CN109408507A (zh) | 多属性数据的处理方法、装置、设备及可读存储介质 | |
CN106933897A (zh) | 数据查询方法和装置 | |
CN106940721A (zh) | 一种自定义选择框的数据处理方法及系统 | |
CN106033438A (zh) | 舆情数据存储方法和服务器 | |
CN106649385B (zh) | 基于HBase数据库的数据排序方法和装置 | |
CN106547795A (zh) | 数据更新方法和装置 | |
KR101761177B1 (ko) | 상위 k 중요 패턴 마이닝 방법, 이를 수행하는 장치 및 이를 저장하는 기록매체 | |
CN106503024A (zh) | 日志信息处理方法和装置 | |
CN104750834A (zh) | 一种规则的存储方法、匹配方法及装置 | |
CN106658444A (zh) | 一种短信通道商选择方法及终端 | |
CN107392518A (zh) | 一种超市管理系统 | |
CN106569986A (zh) | 字符串替换方法和装置 | |
CN110362540A (zh) | 一种数据存储、访客数获取方法及装置 | |
CN106855866A (zh) | Xml文档存储方法及装置 | |
CN108595450A (zh) | 一种埋点数据库构建方法、埋点数据库及埋点查询方法 | |
CN106528750B (zh) | 数据提取方法及装置 | |
CN104951550B (zh) | 数据存储方法及装置 | |
CN106372071B (zh) | 数据仓库的信息获取方法和装置 | |
CN105721527A (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 | ||
CB02 | Change of applicant information |
Address after: 100086 South 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170329 |
|
RJ01 | Rejection of invention patent application after publication |