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') ;