MySQL数据库批量导出和导入查询数据
由于工作需要,我需要先在一个MySQL库中查询出结果,然后以查出结果为参数,去放入另外一个MySQL数据库中当成where的条
|
MySQL数据库批量导出和导入查询数据的过程是使用-e参数去执行命令。 由于工作需要,我需要先在一个MySQL库中查询出结果,然后以查出结果为参数,去放入另外一个MySQL数据库中当成where的条件去匹配另外的查询。 我具体的操作过程如下: 1.执行源数据库查询结果导出: $mysql -h192.168.100.200 -P3306 -umysql_user -pmysql_password test -e "select vol_id from test.table where xxx='abc'" > /tmp/1.txt 把/tmp/1.txt的结果通过服务器sz 命令导出服务器。并且上传到另外一台MySQL数据库服务器的/tmp目录中。 2.编写目的数据库查询数据并且导出的脚本: $touch import.sh; 新建shell脚本文件。 $chmod 755 import.sh 授权导入数据的脚本读写执行权限。 $vim import.sh 编辑内容如下: for vol_id in `cat /tmp/1.txt` do mysql -h10.253.200.110 -P3306 -umysql_user -pmysql_password yewudb -e "select * from yewudb.tablename where column_name='$vol_id'" >> /tmp/result.txt done 3.执行import.sh脚本: ./import.sh 4.导出脚本执行的结果result.txt,这就是MySQL数据库查询出的最终结果。 总结:由于是for循环逐行读取查询结果,并且进行再次查询后输出内容。所以for.....do.....done的循环中,do中的操作部分中MySQL 选择数据库,把查询结果输出到文件中,必须是双箭头追加到文件,不能单箭头。否则导出的文件中,只有最后一条查询语句的结果。
把你打败的往往不是实力,是智慧! (编辑:天瑞地安资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


