CN112765158A - 一种数据库的数据修改方法、装置及存储介质 - Google Patents
一种数据库的数据修改方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112765158A CN112765158A CN202011605974.4A CN202011605974A CN112765158A CN 112765158 A CN112765158 A CN 112765158A CN 202011605974 A CN202011605974 A CN 202011605974A CN 112765158 A CN112765158 A CN 112765158A
- Authority
- CN
- China
- Prior art keywords
- statement
- data
- sql statement
- executing
- modified
- 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
- 238000002715 modification method Methods 0.000 title claims abstract description 15
- 230000004048 modification Effects 0.000 claims abstract description 78
- 238000012986 modification Methods 0.000 claims abstract description 75
- 238000011084 recovery Methods 0.000 claims abstract description 58
- 238000000034 method Methods 0.000 claims abstract description 17
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000012423 maintenance Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012545 processing 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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据库的数据修改方法、装置及存储介质,方法包括以下步骤:获取用于数据修改的第一SQL语句;提取第一SQL语句的关键信息,生成影响查询语句、新旧值变化语句和备份语句;执行影响查询语句,得到被第一SQL语句的执行所影响的数据;执行新旧值变化语句,返回执行第一SQL语句前后待修改数据的旧值和新值;如果用户确认执行,则执行备份语句、生成恢复语句并存储恢复语句,执行第一SQL语句。与现有技术相比,本发明对输入的第一SQL语句进行分析,自动生成影响查询语句、新旧值变化语句和备份语句,避免了手工编写SQL语句,能够在第一SQL语句执行前向用户展示执行前后的数据变化、修改是否存在风险,降低了错改的风险。
Description
技术领域
本发明涉及数据处理领域,尤其是涉及一种数据库的数据修改方法、装置及存储介质。
背景技术
随着信息技术的进步,数据库的应用越来越广泛。在数据库的使用过程中,由于程序BUG、历史数据、生产运维等,不可避免的产生了数据修改需求。当有大量数据需要修改时,运维人员需要手动编写数据修改语句和备份语句,效率较低,而且,由于运维人员水平不一致,手动编写语句容易出错,导致出现大量正常数据被误修改、问题数据被错改或漏改、备份语句备份的数据和修改语句修改的数据不一致等问题,无法保证数据库的数据修改的安全性。
中国专利CN201811114708.4公开了一种基于SQL语句的数据修改方法,通过预设分析规则分析用户输入的SQL语句,自动生成用于创建备份数据的SQL语句,不需要用户单独编写备份语句,使得用户修改的数据得到备份,可以在一定程度上降低数据被误改造成的损失。但是,该方法只能根据用户输入的SQL语句生成对应的备份语句,虽然减少了用户编写备份语句的工作量,但并没有解决数据被误改、漏改、错改的问题,而且想恢复被修改的数据还需要重新编写SQL语句,将备份数据导回原数据库,不利于数据的恢复。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种数据库的数据修改方法、装置及存储介质,对输入的第一SQL语句进行分析,自动生成影响查询语句、新旧值变化语句和备份语句,避免了手工编写SQL语句,能够在第一SQL语句执行前向用户展示修改是否存在风险、执行前后的数据变化,降低了错改的风险。
本发明的目的可以通过以下技术方案来实现:
一种数据库的数据修改方法,包括以下步骤:
S1:获取用于数据修改的第一SQL语句;
S2:对第一SQL语句进行语法校验,如果语法校验通过,则执行步骤S3,否则,提示语法校验未通过,执行步骤S1;
S3:分析第一SQL语句,提取第一SQL语句的关键信息,所述关键信息包括:语句类型、表名、待修改字段、修改条件和目标数据;
S4:基于所述关键信息生成影响查询语句、新旧值变化语句和备份语句;
S5:执行影响查询语句,得到被第一SQL语句的执行所影响的数据;
S6:执行新旧值变化语句,返回执行第一SQL语句前待修改数据的旧值和执行第一SQL语句后待修改数据的新值,所述待修改数据为待修改字段中符合修改条件的数据;
S7:获取用户的反馈信号,如果反馈信号为是,则执行备份语句、生成恢复语句并存储恢复语句,执行步骤S8;如果反馈信号为否,则执行步骤S1;
S8:执行第一SQL语句,将待修改数据修改为目标数据。
进一步的,所述步骤S1具体为:用户根据数据修改的需求编写第一SQL语句。
进一步的,所述步骤S1具体为:
F1:用户根据数据修改的需求自规则库中选择规则,所述规则库中预先存储有多条适用于不同的数据修改需求的规则;
F2:用户填写所选择的规则的参数;
F3:对参数进行类型、长度和内容的安全校验,如果安全校验通过,则执行步骤F4,否则,提示安全校验未通过,执行步骤F2;
F4:根据用户所选择的规则和用户填写的参数生成第一SQL语句。
更进一步的,所述步骤F1中,规则库中预先存储的规则是用户预先根据不同的数据修改需求设置的,具体为:
D1:获取数据修改需求;
D2:用户编写对应该数据修改需求的规则SQL语句,所述规则SQL语句包括一个或多个变量;
D3:对规则SQL语句进行语法校验,如果语法校验通过,则执行步骤D4,否则,提示语法校验未通过,执行步骤D3;
D4:根据规则SQL语句与变量之间的依赖关系,设置规则SQL语句中的变量的名称、变量的类型、变量的长度、变量的默认值、变量的选填属性,得到一条规则并将其存储在规则库中;
D5:重复步骤D1,直至规则库中存储有所有数据修改需求的规则。
进一步的,所述步骤S3具体为:
对第一SQL语句进行划分,提取类型关键字,得到第一SQL语句的类型;根据第一SQL语句的类型,提取第一SQL语句中的表名关键词、待修改字段关键词、修改条件关键词和目标数据关键词,得到第一SQL语句的表名、第一SQL语句的待修改字段、第一SQL语句的修改条件和第一SQL语句的目标数据。
进一步的,所述步骤S7中,所述恢复语句用于将待修改数据的值恢复为执行第一SQL语句前待修改数据的旧值;
执行备份语句、生成恢复语句并存储恢复语句具体为:执行备份语句,得到所有待修改数据,并将待修改数据的旧值备份,得到备份数据;生成所有待修改数据的恢复语句并将恢复语句保存在恢复文件中。
更进一步的,所述步骤S7中,执行备份语句、生成恢复语句并存储恢复语句后,还包括:
基于备份数据和恢复文件,生成用于对备份数据和恢复文件进行归档的归档SQL语句;执行归档SQL语句。
更进一步的,还包括步骤S9,步骤S9具体为:检查数据库中的数据集,如果发现数据修改错误,则执行恢复文件中与该错误所对应的恢复语句。
一种数据库的数据修改装置,基于如上所述的数据修改方法,包括用户输入模块、规则定义模块、规则执行模块、语法校验模块、语句分析模块、备份模块、新旧值预览模块和语句执行模块:
所述用户输入模块用于获取用户输入的第一SQL语句、用户输入的规则和规则的参数;
所述规则定义模块用于根据数据修改需求设置规则并存储在规则库中;
所述规则执行模块用于根据用户输入的规则和规则的参数生成第一SQL语句;
所述语法校验模块用于校验第一SQL语句是否符合语法规范;
所述语句分析模块用于分析第一SQL语句,提取第一SQL语句的关键信息,并基于所述关键信息生成影响查询语句、新旧值变化语句和备份语句;
所述备份模块用于执行备份语句、生成恢复语句和存储恢复语句;
所述新旧值预览模块用于执行新旧值变化语句,返回给用户执行第一SQL语句前待修改数据的旧值和执行第一SQL语句后待修改数据的新值;
所述语句执行模块用于执行第一SQL语句,将待修改数据修改为目标数据。
一种计算机可读存储介质,所述计算机可读存储介质中包括数据修改程序,所述数据修改程序被处理器执行时,可实现如上所述的数据修改方法的步骤。
与现有技术相比,本发明具有以下有益效果:
(1)对输入的第一SQL语句进行分析,自动生成影响查询语句、新旧值变化语句和备份语句,避免了手工编写SQL语句,能够在第一SQL语句执行前向用户展示修改是否存在风险、执行前后的数据变化,降低了错改的风险。
(2)在执行第一SQL语句前,执行备份语句并自动生成恢复语句,便于错改数据后对数据进行恢复,减少了操作人员的工作量,自动化程度更高。
(3)预先根据数据修改需求设置规则,用户可以直接选取规则、输入参数,直接生成第一SQL语句,不需要手动编写SQL语句,提升了SQL语句的质量,降低了数据修改的风险。
附图说明
图1为数据修改方法的流程图;
图2为设置规则的流程图;
图3为数据修改装置的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例1:
一种数据库的数据修改方法,如图1所示,包括以下步骤:
S1:获取用于数据修改的第一SQL语句;
S2:对第一SQL语句进行语法校验,如果语法校验通过,则执行步骤S3,否则,提示语法校验未通过,执行步骤S1;
S3:分析第一SQL语句,提取第一SQL语句的关键信息,关键信息包括:语句类型、表名、待修改字段、修改条件和目标数据;
S4:基于关键信息生成影响查询语句、新旧值变化语句和备份语句;
S5:执行影响查询语句,得到被第一SQL语句的执行所影响的数据;
S6:执行新旧值变化语句,返回执行第一SQL语句前待修改数据的旧值和执行第一SQL语句后待修改数据的新值,待修改数据为待修改字段中符合修改条件的数据;
S7:获取用户的反馈信号,如果反馈信号为是,则执行备份语句、生成恢复语句并存储恢复语句,执行步骤S8;如果反馈信号为否,则执行步骤S1;
S8:执行第一SQL语句,将待修改数据修改为目标数据。
本实施例中,步骤S1中,用户根据数据修改的需求自规则库中选择规则。输入规则的参数,自动生成第一SQL语句,具体为:
F1:用户根据数据修改的需求自规则库中选择规则,规则库中预先存储有多条适用于不同的数据修改需求的规则;
F2:用户填写所选择的规则的参数;
F3:对参数进行类型、长度和内容的安全校验,如果安全校验通过,则执行步骤F4,否则,提示安全校验未通过,执行步骤F2;
F4:根据用户所选择的规则和用户填写的参数生成第一SQL语句。
如UPDATE TABLE_A SET TEXT=<%TEXT%>,A=<%A%>WHERE ID=<%ID%>,这条规则适用于对表TABLE_A中TEXT列、A列的数据进行更新,可以输入<%TEXT%>的值、<%A%>的值、<%ID%>的值,这样,可以将TEXT列中ID=<%ID%>的数据更新为<%TEXT%>、A列中ID=<%ID%>的数据更新为<%A%>。
用户选定规则,输入参数后,就可以得到第一SQL语句,如输入<%TEXT%>为'apple',输入<%A%>等于'red',输入<%ID%>等于2,就可以得到第一SQL语句:UPDATETABLE_A SET TEXT='apple',A='red'WHERE ID=2,将表TABLE_A中TEXT列、A列中ID=2的数据分别更新为'apple'和'red'。
步骤F1中,规则库中预先存储的规则是用户预先根据不同的数据修改需求设置的,如图2所示,具体为:
D1:获取数据修改需求;
D2:用户编写对应该数据修改需求的规则SQL语句,规则SQL语句包括一个或多个变量;
D3:对规则SQL语句进行语法校验,如果语法校验通过,则执行步骤D4,否则,提示语法校验未通过,执行步骤D3;
D4:根据规则SQL语句与变量之间的依赖关系,设置规则SQL语句中的变量的名称、变量的类型、变量的长度、变量的默认值、变量的选填属性,得到一条规则并将其存储在规则库中;
D5:重复步骤D1,直至规则库中存储有所有数据修改需求的规则。
运维人员结合历史经验,根据特定场景定义一条或多条规则SQL语句,规则SQL语句保护一个或多个变量,之后设置每个变量的名称、类型、长度、默认值、选填属性。本实施例中,变量为以“<%”开头、以“%>”结尾且不包含空格的字符,变量区分大小写,如<%A%>是一个名称为ID的变量。
变量的选填属性即用户为选填变量或必填变量。例如UPDATE TABLE_A SET TEXT=<%TEXT%>WHERE ID=<%ID%>,此语句依赖变量TEXT和ID,如果TEXT设置为选填,则在使用的时如果候不填写TEXT,则该语句没有待修改字段,此语句不执行。
如果语句为UPDATE TABLE_A SET TEXT=<%TEXT%>,A=<%A%>WHERE ID=<%ID%>,此语句依赖变量TEXT,A和ID,如果TEXT和A都设置为选填,那么使用的时候单独填写TEXT或A会出现两种不同的情况,如果只填写了A,不填写TEXT,则SQL语句自动调整为UPDATE TABLE_A SET A=<%A%>WHERE ID=<%ID%>,不更新TEXT字段;如果在使用的时候TEXT和A都不填,则此语句不执行。
为了保证灵活性,也支持用户手动编写SQL语句。在其他实施方式中,步骤S1中,用户也可以根据数据修改的需求手动编写第一SQL语句。
步骤S2中,对第一SQL语句进行语法校验,主要是为了检查其中的语法错误,如果有语法错误,则用户重新输入第一SQL语句。
步骤S3中,分析第一SQL语句,提取第一SQL语句的关键信息,关键信息包括:语句类型、表名、待修改字段、修改条件和目标数据,具体为:
对第一SQL语句进行划分,提取类型关键字,得到第一SQL语句的类型;根据第一SQL语句的类型,提取第一SQL语句中的表名关键词、待修改字段关键词、修改条件关键词和目标数据关键词,得到第一SQL语句的表名、第一SQL语句的待修改字段、第一SQL语句的修改条件和第一SQL语句的目标数据。
例如第一SQL语句为UPDATE TABLE_A SET TEXT='text'WHERE ID=1,提取类型关键字,发现为update语句;提取表名关键词、待修改字段关键词、修改条件关键词和目标数据关键词,发现待修改字段为TEXT,修改条件为ID=1,目标数据为'text'。
根据关键信息即可生成影响查询语句、新旧值变化语句和备份语句。
本实施例中,第一SQL语句为:
UPDATE TABLE_A SET TEXT='text'WHERE ID=1;
则影响查询语为:
SELECT COUNT(1)EFFECTROW FROM TABLE_A WHERE ID=1;
新旧值变化语句为:
SELECT ID ID_KEY,TEXT TEXT_OLD,'text'TEXT_NEW FROM TABLE_A WHERE ID=1;
备份语句为:
SELECT ROWID"ROWID",TEXT FROM TABLE_A WHERE ID=1。
第一SQL语句可能有多条,其他的第一SQL语句也进行类似处理。
S5:执行影响查询语句,得到被第一SQL语句的执行所影响的数据。
S6:执行新旧值变化语句,返回执行第一SQL语句前待修改数据的旧值和执行第一SQL语句后待修改数据的新值,待修改数据为待修改字段中符合修改条件的数据。
本实施例中,TABLE_A如表1所示,第一SQL语句为UPDATE TABLE_A SET TEXT='text'WHERE ID=1;
表1 TABLE_A
ID | TEXT | A |
1 | hello | abc |
1 | abc | abcd |
2 | hi | bcd |
则执行影响查询语句,返回值为2条记录。在其他实施方式中,如果执行影响查询语句返回的条数超过预设置的安全阈值,则会报警。如用户设置了风险校验规则,当修改的记录条数超过5万条时,会报警。通过影响查询行数语句判断修改行数是否存在风险,避免第一SQL语句不严谨导致大量数据被修改。
执行新旧值变化语句,返回结果如表2所示:
表2新旧值变化语句执行结果
ID_KEY | TEXT_OLD | TEXT_NEW |
1 | hello | text |
1 | abc | text |
此时,用户可以通过新旧值变化语句执行结果直观的看到数据变化,判断是否继续进行修改,降低了错改风险。
如果用户决定继续执行,则会执行步骤S7,执行备份语句、生成恢复语句并存储恢复语句,具体为:
执行备份语句、生成恢复语句并存储恢复语句具体为:执行备份语句,得到所有待修改数据,并将待修改数据的旧值备份,得到备份数据;生成所有待修改数据的恢复语句并将恢复语句保存在恢复文件中。
其中,恢复语句用于将待修改数据的值恢复为执行第一SQL语句前待修改数据的旧值。本实施例中,备份语句为SELECT ROWID"ROWID",TEXT FROM TABLE_A WHERE ID=1,执行备份语句后通过生成恢复语句,并将恢复语句记录到恢复文件中,由于修改了2条记录,因此生成了2条恢复语句:
UPDATE TABLE_A SET TEXT='hello'WHERE ROWID='1';
UPDATE TABLE_A SET TEXT='abc'WHERE ROWID='2';
在其他实施方式中,如果修改了100条记录,则会生成100条恢复数据。
步骤S7中,执行备份语句、生成恢复语句并存储恢复语句后,还包括:基于备份数据和恢复文件,生成用于对备份数据和恢复文件进行归档的归档SQL语句;执行归档SQL语句。
数据修改方法还包括步骤S9,步骤S9具体为:检查数据库中的数据集,如果发现数据修改错误,则执行恢复文件中与该错误所对应的恢复语句。
在第一SQL语句完成执行之前,用户可以取消第一SQL语句的执行,通过数据库自带的回滚功能取消对待修改数据所做的修改。在第一SQL语句完成执行之后,如果用户发现之前的数据修改存在错误,就可以通过回复语句直接恢复待修改数据,不需要重新编写SQL语句,减少了工作量。
一种数据库的数据修改装置,如图3所示,包括用户输入模块、规则定义模块、规则执行模块、语法校验模块、语句分析模块、备份模块、新旧值预览模块和语句执行模块:
用户输入模块用于获取用户输入的第一SQL语句、用户输入的规则和规则的参数;
规则定义模块用于根据数据修改需求设置规则并存储在规则库中;
规则执行模块用于根据用户输入的规则和规则的参数生成第一SQL语句;
语法校验模块用于校验第一SQL语句是否符合语法规范;
语句分析模块用于分析第一SQL语句,提取第一SQL语句的关键信息,并基于关键信息生成影响查询语句、新旧值变化语句和备份语句;
备份模块用于执行备份语句、生成恢复语句和存储恢复语句;
新旧值预览模块用于执行新旧值变化语句,返回给用户执行第一SQL语句前待修改数据的旧值和执行第一SQL语句后待修改数据的新值;
语句执行模块用于执行第一SQL语句,将待修改数据修改为目标数据。
一种计算机可读存储介质,计算机可读存储介质中包括数据修改程序,数据修改程序被处理器执行时,可实现如上所述的数据修改方法的步骤。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种数据库的数据修改方法,其特征在于,包括以下步骤:
S1:获取用于数据修改的第一SQL语句;
S2:对第一SQL语句进行语法校验,如果语法校验通过,则执行步骤S3,否则,提示语法校验未通过,执行步骤S1;
S3:分析第一SQL语句,提取第一SQL语句的关键信息,所述关键信息包括:语句类型、表名、待修改字段、修改条件和目标数据;
S4:基于所述关键信息生成影响查询语句、新旧值变化语句和备份语句;
S5:执行影响查询语句,得到被第一SQL语句的执行所影响的数据;
S6:执行新旧值变化语句,返回执行第一SQL语句前待修改数据的旧值和执行第一SQL语句后待修改数据的新值,所述待修改数据为待修改字段中符合修改条件的数据;
S7:获取用户的反馈信号,如果反馈信号为是,则执行备份语句、生成恢复语句并存储恢复语句,执行步骤S8;如果反馈信号为否,则执行步骤S1;
S8:执行第一SQL语句,将待修改数据修改为目标数据。
2.根据权利要求1所述的一种数据库的数据修改方法,其特征在于,所述步骤S1具体为:用户根据数据修改的需求编写第一SQL语句。
3.根据权利要求1所述的一种数据库的数据修改方法,其特征在于,所述步骤S1具体为:
F1:用户根据数据修改的需求自规则库中选择规则,所述规则库中预先存储有多条适用于不同的数据修改需求的规则;
F2:用户填写所选择的规则的参数;
F3:对参数进行类型、长度和内容的安全校验,如果安全校验通过,则执行步骤F4,否则,提示安全校验未通过,执行步骤F2;
F4:根据用户所选择的规则和用户填写的参数生成第一SQL语句。
4.根据权利要求3所述的一种数据库的数据修改方法,其特征在于,所述步骤F1中,规则库中预先存储的规则是用户预先根据不同的数据修改需求设置的,具体为:
D1:获取数据修改需求;
D2:用户编写对应该数据修改需求的规则SQL语句,所述规则SQL语句包括一个或多个变量;
D3:对规则SQL语句进行语法校验,如果语法校验通过,则执行步骤D4,否则,提示语法校验未通过,执行步骤D3;
D4:根据规则SQL语句与变量之间的依赖关系,设置规则SQL语句中的变量的名称、变量的类型、变量的长度、变量的默认值、变量的选填属性,得到一条规则并将其存储在规则库中;
D5:重复步骤D1,直至规则库中存储有所有数据修改需求的规则。
5.根据权利要求1所述的一种数据库的数据修改方法,其特征在于,所述步骤S3具体为:
对第一SQL语句进行划分,提取类型关键字,得到第一SQL语句的类型;根据第一SQL语句的类型,提取第一SQL语句中的表名关键词、待修改字段关键词、修改条件关键词和目标数据关键词,得到第一SQL语句的表名、第一SQL语句的待修改字段、第一SQL语句的修改条件和第一SQL语句的目标数据。
6.根据权利要求1所述的一种数据库的数据修改方法,其特征在于,所述步骤S7中,所述恢复语句用于将待修改数据的值恢复为执行第一SQL语句前待修改数据的旧值;
执行备份语句、生成恢复语句并存储恢复语句具体为:执行备份语句,得到所有待修改数据,并将待修改数据的旧值备份,得到备份数据;生成所有待修改数据的恢复语句并将恢复语句保存在恢复文件中。
7.根据权利要求6所述的一种数据库的数据修改方法,其特征在于,所述步骤S7中,执行备份语句、生成恢复语句并存储恢复语句后,还包括:
基于备份数据和恢复文件,生成用于对备份数据和恢复文件进行归档的归档SQL语句;执行归档SQL语句。
8.根据权利要求6所述的一种数据库的数据修改方法,其特征在于,还包括步骤S9,步骤S9具体为:检查数据库中的数据集,如果发现数据修改错误,则执行恢复文件中与该错误所对应的恢复语句。
9.一种数据库的数据修改装置,其特征在于,基于如权利要求1-8中任一所述的数据修改方法,包括用户输入模块、规则定义模块、规则执行模块、语法校验模块、语句分析模块、备份模块、新旧值预览模块和语句执行模块:
所述用户输入模块用于获取用户输入的第一SQL语句、用户输入的规则和规则的参数;
所述规则定义模块用于根据数据修改需求设置规则并存储在规则库中;
所述规则执行模块用于根据用户输入的规则和规则的参数生成第一SQL语句;
所述语法校验模块用于校验第一SQL语句是否符合语法规范;
所述语句分析模块用于分析第一SQL语句,提取第一SQL语句的关键信息,并基于所述关键信息生成影响查询语句、新旧值变化语句和备份语句;
所述备份模块用于执行备份语句、生成恢复语句和存储恢复语句;
所述新旧值预览模块用于执行新旧值变化语句,返回给用户执行第一SQL语句前待修改数据的旧值和执行第一SQL语句后待修改数据的新值;
所述语句执行模块用于执行第一SQL语句,将待修改数据修改为目标数据。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括数据修改程序,所述数据修改程序被处理器执行时,可实现如权利要求1-8中任一所述的数据修改方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011605974.4A CN112765158A (zh) | 2020-12-30 | 2020-12-30 | 一种数据库的数据修改方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011605974.4A CN112765158A (zh) | 2020-12-30 | 2020-12-30 | 一种数据库的数据修改方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112765158A true CN112765158A (zh) | 2021-05-07 |
Family
ID=75697451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011605974.4A Pending CN112765158A (zh) | 2020-12-30 | 2020-12-30 | 一种数据库的数据修改方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765158A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254470A (zh) * | 2021-05-28 | 2021-08-13 | 武汉悦学帮网络技术有限公司 | 一种数据更改方法、装置、计算机设备及存储介质 |
CN114840558A (zh) * | 2022-03-28 | 2022-08-02 | 阿里巴巴(中国)有限公司 | 数据生成方法、装置、电子设备及计算机程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446218A (zh) * | 2018-09-25 | 2019-03-08 | 中国平安人寿保险股份有限公司 | Sql语句生成方法、装置及计算机可读存储介质 |
CN109471857A (zh) * | 2018-09-25 | 2019-03-15 | 中国平安人寿保险股份有限公司 | 基于sql语句的数据修改方法、装置及存储介质 |
CN109871705A (zh) * | 2017-12-01 | 2019-06-11 | 中国移动通信集团广东有限公司 | 一种数据库修改方法及系统 |
CN111241130A (zh) * | 2019-12-29 | 2020-06-05 | 航天信息股份有限公司 | 一种基于sql语言的语法语句的扩展方法及系统 |
-
2020
- 2020-12-30 CN CN202011605974.4A patent/CN112765158A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871705A (zh) * | 2017-12-01 | 2019-06-11 | 中国移动通信集团广东有限公司 | 一种数据库修改方法及系统 |
CN109446218A (zh) * | 2018-09-25 | 2019-03-08 | 中国平安人寿保险股份有限公司 | Sql语句生成方法、装置及计算机可读存储介质 |
CN109471857A (zh) * | 2018-09-25 | 2019-03-15 | 中国平安人寿保险股份有限公司 | 基于sql语句的数据修改方法、装置及存储介质 |
CN111241130A (zh) * | 2019-12-29 | 2020-06-05 | 航天信息股份有限公司 | 一种基于sql语言的语法语句的扩展方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254470A (zh) * | 2021-05-28 | 2021-08-13 | 武汉悦学帮网络技术有限公司 | 一种数据更改方法、装置、计算机设备及存储介质 |
CN114840558A (zh) * | 2022-03-28 | 2022-08-02 | 阿里巴巴(中国)有限公司 | 数据生成方法、装置、电子设备及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5452449A (en) | Interactive multi-module source code analyzer that matches and expands call and entry statement parameters | |
US8874519B1 (en) | Method and apparatus for restoring a table in a database | |
CN112765158A (zh) | 一种数据库的数据修改方法、装置及存储介质 | |
CN109376196B (zh) | 一种redo日志批量同步方法及装置 | |
CN107341102B (zh) | 一种测试用例文件生成方法及装置 | |
CN114168486A (zh) | 接口自动化测试方法、装置、介质、设备及程序 | |
CN111737699B (zh) | 一种基于CIS基准的Kubernetes安全加固系统及方法 | |
CN108229182B (zh) | 利用信息同构验证画面组态的方法和系统 | |
CN111125067B (zh) | 数据维护方法及装置 | |
CN113792027A (zh) | 一种通用型数据库转换装置 | |
CN111444208B (zh) | 一种数据更新方法及相关设备 | |
KR101563494B1 (ko) | 파일 변경에 따른 실시간 소스코드 보안 약점 탐지 장치 및 방법 | |
CN112181951A (zh) | 一种异构数据库数据迁移方法、装置及设备 | |
CN106547756B (zh) | 数据库的创建方法及装置 | |
CN115098365A (zh) | Sql代码的调试方法、装置、电子设备及可读存储介质 | |
CN115391360A (zh) | 一种数据管理方法、系统及电子设备 | |
CN113407378A (zh) | 一种分布式数据库的分片信息备份方法及装置 | |
KR102528779B1 (ko) | 한국어 생략어 복원을 위한 학습 말뭉치 생성 장치 및 방법 | |
CN112632177A (zh) | 一种数据装载作业的生成方法 | |
CN115599595B (zh) | 一种基于分布式数据库的物理备份方法 | |
CN105095513A (zh) | 一种破解Oracle数据库账户密码的方法和装置 | |
CN105069078A (zh) | 一种处理增量索引合并失败的方法及装置 | |
CN112232768A (zh) | 一种基于全生命周期管理的商户数据处理方法 | |
CN114089976B (zh) | 用于生成数据库操作语句的方法、设备和介质 | |
JP2001060240A (ja) | フォーマット修正方法およびデータ変換方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210507 |
|
RJ01 | Rejection of invention patent application after publication |