且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

1分钟实现MySQL批量导出以某数字或字母开头的表

更新时间:2021-07-17 05:21:34


情景:我有上百张以H开头的表,我需要备份出这些以H开头的表。  而mysqldump不支持*或者%这种通配符,所以没法实现备份以xx开头的表这种,那么如何快速批量备份出以某字母或数字开头的表呢。


这里算是个小技巧,利用文本编辑器来实现。

[root@HE3~]# mysql -uroot -p -s -e"select table_name from information_schema.tableswhere table_schema='helei' and table_name like'H%'";

Enterpassword:

table_name

H1

H2

H3

H4

H5

 

 

MySQLdump的语法是库名[空格]表名[空格]表名[空格]表名,例如:mysqldump -uroot -p helei H1 H2 H3 >helei.sql


这里的关键就在于如何将多列转换为一列并用空格隔开,这样就可以符合mysqldump的语法了。

 

1分钟实现MySQL批量导出以某数字或字母开头的表

首先按住alt键实现多列编辑,再输入任意一个字符,我这里用的','



1分钟实现MySQL批量导出以某数字或字母开头的表

这里用到经常使用的文字编辑器notpad++,选择编辑-行操作-合并行即可



1分钟实现MySQL批量导出以某数字或字母开头的表

ctrl+f批量替换功能,将','替换为空格



1分钟实现MySQL批量导出以某数字或字母开头的表


 

 H1 H2  H3  H4  H5


complete!




PS:还可以采用mydumper来实现,mydumper比mysqldump快1倍,且其参数--regex支持正则表达式





 本文转自 dbapower 51CTO博客,原文链接:http://blog.51cto.com/suifu/1852178,如需转载请自行联系原作者