mysql 快速从dump 中获取一个或多个表


以前一直想写一下,一直没时间,今天领导问到就记录一下吧

可以有三种方式 awk ,sed 另外一种是mysql本身的命令mysql_find_rows


1,先导出系统库mysql整库的数据

     mysqldump -uroot -p mysql > mysql.sql

 2,通过mysql_find_rows 获取表的信息

     

 不过需要注意的是,该表比较特殊其他表的行内容没有包含有该表表名的字符串,所以可以很好的查找出来,但是如果其他表行内容包含了要查找表的表名者输出结果将与预期不符,这里就不贴出结果有兴趣的可以自己试验。


2,使用sed命令抽取表

   使用sed 命令进行提取需要注意表的顺序 先登录mysql数据库

  use mysql ;

 show  tables;

结果如图:

 

这里需要抽取db表 则可以执行如下命令

cat mysql.sql | sed -n -e '/Table structure for table .db./,/Table structure for table .event./p'

得到的结果如下:



如果想要提取多张表 t1,t2,t3 而表的排名是t0,t1,t2,t3,t4,t5 那么只要将上述命令改为:

 cat mysql.sql | sed -n -e '/Table structure for table .t1./,/Table structure for table .t4./p' 即可


3,awk 原理类似sed 这里就不再做实验


忙里偷闲先简单写到这吧,希望对您有用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值