【技术实现步骤摘要】
一种数据库的数据修改方法、装置及存储介质
本专利技术涉及数据处理领域,尤其是涉及一种数据库的数据修改方法、装置及存储介质。
技术介绍
随着信息技术的进步,数据库的应用越来越广泛。在数据库的使用过程中,由于程序BUG、历史数据、生产运维等,不可避免的产生了数据修改需求。当有大量数据需要修改时,运维人员需要手动编写数据修改语句和备份语句,效率较低,而且,由于运维人员水平不一致,手动编写语句容易出错,导致出现大量正常数据被误修改、问题数据被错改或漏改、备份语句备份的数据和修改语句修改的数据不一致等问题,无法保证数据库的数据修改的安全性。中国专利CN201811114708.4公开了一种基于SQL语句的数据修改方法,通过预设分析规则分析用户输入的SQL语句,自动生成用于创建备份数据的SQL语句,不需要用户单独编写备份语句,使得用户修改的数据得到备份,可以在一定程度上降低数据被误改造成的损失。但是,该方法只能根据用户输入的SQL语句生成对应的备份语句,虽然减少了用户编写备份语句的工作量,但并没有解决数据被误改、漏改、错改的问题,而且想恢复被修改的数据还需要重新编写SQL语句,将备份数据导回原数据库,不利于数据的恢复。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种数据库的数据修改方法、装置及存储介质,对输入的第一SQL语句进行分析,自动生成影响查询语句、新旧值变化语句和备份语句,避免了手工编写SQL语句,能够在第一SQL语句执行前向用户展示修改是否存在风险、执行前后的数据
【技术保护点】
1.一种数据库的数据修改方法,其特征在于,包括以下步骤:/nS1:获取用于数据修改的第一SQL语句;/nS2:对第一SQL语句进行语法校验,如果语法校验通过,则执行步骤S3,否则,提示语法校验未通过,执行步骤S1;/nS3:分析第一SQL语句,提取第一SQL语句的关键信息,所述关键信息包括:语句类型、表名、待修改字段、修改条件和目标数据;/nS4:基于所述关键信息生成影响查询语句、新旧值变化语句和备份语句;/nS5:执行影响查询语句,得到被第一SQL语句的执行所影响的数据;/nS6:执行新旧值变化语句,返回执行第一SQL语句前待修改数据的旧值和执行第一SQL语句后待修改数据的新值,所述待修改数据为待修改字段中符合修改条件的数据;/nS7:获取用户的反馈信号,如果反馈信号为是,则执行备份语句、生成恢复语句并存储恢复语句,执行步骤S8;如果反馈信号为否,则执行步骤S1;/nS8:执行第一SQL语句,将待修改数据修改为目标数据。/n
【技术特征摘要】
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具体为:
...
【专利技术属性】
技术研发人员:王程皓,
申请(专利权)人:中国人寿保险股份有限公司上海数据中心,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。