MySQL 命令行导出、导入Select 查询结果
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL 命令行导出、导入Select 查询结果,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2064字,纯文字阅读大概需要3分钟。
内容图文
![MySQL 命令行导出、导入Select 查询结果](/upload/InfoBanner/zyjiaocheng/914/249f2eb6fe0d4e3ba2cc4fa2770a70e4.jpg)
有的时候需要把在一张表中用 select 语句查询出来的结果保存到另一张结构相同的表中,可以有几种方法来实现:
方法一:
在命令行下使用一对SQL语句完成该操作:
导出查询结果:Select语句 into outfile '保存路径+文件名';
导入查询结果:load data local infile '保存路径+文件名' into table 表明 character set utf8;
例如:
查询出数据库jc1992中表jc_archives中发布时间晚于2014年9月1日的数据并保存在本地磁盘D的mysqltmp目录下,保存为1.sql,在命令行中输入:
SELECT * from jc_archives where senddate>UNIX_TIMESTAMP('2014-9-1' ) into outfile 'D://mysqltmp/1.sql';
命令行如图:
1.sql用EditPlus打开如图:
再把保存查询结果的1.sql导入到另一数据库data_tmp的表archives中,在命令行中输入:
load data local infile "D://mysqltmp/1.sql" into table archives character set utf8;
命令行如图:
这样就把第一张表中的查询结果导入了第二张表。
要注意的是在导入时,两张表的主键或者唯一索引的值不能有重复,否则会跳过不执行或者报警告:
方法二:
导出查询结果:使用MySQL自带的转存数据库工具musqldump
命令行进入musqldump,使用语句
mysqldump -u用户名 -p -c --default-character-set=字符集 数据库名 数据表 --where="查询条件" > 保存路径和文件名
导入查询结果:mysql -u用户名 -p -c --default-character-set=字符集 数据库名 < 保存路径和文件名
例如:
查询出数据库jc1992中jc_arctiny的发布时间晚于2014年9月1日的数据并保存在本地磁盘D的mysqltmp目录下,保存为2.sql,在命令行中输入:
mysqldump -uroot -p -c --default-character-set=utf8 jc1992 jc_arctiny --where="senddate>UNIX_TIMESTAMP('2014-9-1')" > D:\mysqltmp\2.sql
命令行如图:
2.sql中保存的是完整的SQL语句,用记事本打开如图:
再把保存查询结果的2.sql导入到另一数据库data_tmp的表中,在命令行中输入:
mysql -uroot -p -c --default-character-set=utf8 data_tmp < D:\mysqltmp\2.sql
命令行如图:
此时数据库data_tmp中多了一张表jc_arctiny,表里的数据正是查询出来的的那部分数据。
注意:此方法导出时用的是mysqldump工具,而导入时用的是mysql命令。而且此方法由于导出的是完整的SQL语句,包括创建和设计数据库,所以只适用于恢复数据,而不适用于将一张表中的数据导入到另一张表里,不过,也可以使用保存文件中的INSERT语句把查询出的数据插入到另一张表中,过程要周折一些。方法一对于SQL语句的设计更灵活一些。
内容总结
以上是互联网集市为您收集整理的MySQL 命令行导出、导入Select 查询结果全部内容,希望文章能够帮你解决MySQL 命令行导出、导入Select 查询结果所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。