首页 > 代码库 > MySQL命令行导出、导入 Select 查询结果

MySQL命令行导出、导入 Select 查询结果

<!-- 环境: Windows 2003 SP2 + MySQL5.5.28  -->

 

有的时候需要把在一张表中用 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命令行导出、导入 Select 查询结果