[手游项目2]-20-mysql还原一个库的部分数据

1.先备份整个库,然后导出你需要的部分数据

方法一、insert和select结合使用

1、新建一个表,比如new-table,包含所要导出的字段的名称,比如a,b,c 
2、使用insert into new-table (a,b,c) select a,b,c from old-table; 
3、剩下的步骤就是导出这个新的表,然后进行文本的处理

方法二、使用MySQL的SELECT INTO OUTFILE 备份语句(推荐)

在下面的例子中,生成一个文件,各值用逗号隔开。这种格式可以被许多程序使用。

复制代码 代码如下:

SELECT a,b,a+b INTO OUTFILE ‘/tmp/result.text' 
FIELDS TERMINATED BY ‘,' OPTIONALLY ENCLOSED BY ‘"' 
LINES TERMINATED BY ‘\n' 
FROM test_table;
详细见select的使用方法

复制代码 代码如下:
select subject into outlifile ‘/tmp/xiaoruizi.text' fields terminated by ‘\t' optionally enclosed by ‘"' lines terminated by  ‘\n' from pw_blog;
方法三、使用mysqldump

很奇妙的是我发现了mysqldump其实有个很好用的参数“—w”

帮助文档上说明:

复制代码 代码如下:

-w|–where= 
       dump only selected records; QUOTES mandatory!
那么是不是可以利用这个参数来导出某些值呢?比如我只要导出id大于2312387的某些数据:

复制代码 代码如下:
mysqldump -u root -p bbscs6 BBSCS_USERINFO –where "ID>2312387" > BBSCS_USERINFO-par.sql

资料:mysql导出指定数据或部份数据的方法 https://www.jb51.net/article/47525.htm

2.把你需要还原的那部分数据删掉,导入你备份的

有多种方法.请参考以下方法.
方法一:
安装一个mysql的客户端,比如navicat,建好连接,打开要导入的数据库,点击导入向导,选择要导入的 数据,选择要导入的目标表,在最后的选项中选择附加到已有数据.
方法二:
先使用mysq命令行导入新数据到一张新表,新表结构与之前表一样.然后执行以下插入语句.
假定新表名为new_tb,原表名为old_tb,

insert into old_tb select * from new_tb
追问
导出数据时出现DROP TABLE IF EXISTS `product`这句话,有没有什么办法 在导出的时候不出现这句话呢!!!
追答
你别导出sql文件呀,你导出为CSV或txt

资料:给mysql数据库的某个表导入新数据,怎么才能不覆盖原来的表呢 https://zhidao.baidu.com/question/514602297.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值