常见数据库的表备份与批量字段更新

sqlserver表备份与恢复
1. 备份
-- xx要备份的表的名称
SELECT * into tableName.bak.2019 from tableName; 
2. 恢复
-- 清空原始表
TRUNCATE table tableName;
-- 从备份表导入数据
INSERT into tableName (a,b)  select a,b from tableName.bak.2019
很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容,varchar和nvarchar类型是支持replace,所以如果你的text不超过8000 可以先转换成前面两种类型再使用replace,替换text ntext 数据类型字段的语句。
批量替换字段的值:
update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,’原本内容’,'想要替换成什么’);
varchar和nvarchar类型是支持replace,所以如果你的text/ntext不超过8000/4000可以先转换成前面两种类型再使用replace。
不过上面的方法,对于text或ntext字段超过8000的时候就不能用了,一般可以用asp程序来实现,先读取内容替换后,保存到数据库中。

Oracle
/*备份表*/
create table tableName_bak as select * from tableName;
/*备份数据*/
insert into tableName_bak select * from tableName;
批量替换字段的值:
update table_name  set table_name.column_name = replace(table_name.column_name,'str1','str2');
其中str1是待替换的内容
str2 是替换后的内容;
update tableName set tableName.colmun = replace(value, 'A', 'B');

MySQL
/*备份表*/
create tableName_bak select  * from tableName;
批量替换字段的值:
update tableName set rowName= replace(rowName, 'oldStr', 'newStr') ;
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值