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

有的时候需要把在一张表中用 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语句的设计更灵活一些。

原文地址:https://www.cnblogs.com/adjk/p/10709726.html

时间: 2024-08-28 19:13:44

MySQL 命令行导出、导入Select 查询结果的相关文章

第二百九十节,MySQL数据库-MySQL命令行导出导入数据库,数据库备份还原

MySQL命令行导出导入数据库,数据库备份还原 MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin(或者直接将windows的环境变量path中添加该目录) 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令行:mysqldump -u root -p news > news.sql

mysql命令行导出导入数据库

一.MYSQL的命令行模式的设置: 桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二.简单的介绍一下命令行进入MYSQL的方法:1.C:\>mysql -h hostname -u username -p 按ENTER键,等待然后输入密码.这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root.进入命令行后可以直接操作MYSQL了.2.

MySQL命令行导出数据库

MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin(或者直接将windows的环境变量path中添加该目录) 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令行:mysqldump -u root -p news > news.sql   (输入后会让你输入进入MySQL的密码)(

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

<!-- 环境: Windows 2003 SP2 + MySQL5.5.28 --> 有的时候需要把在一张表中用 select 语句查询出来的结果保存到另一张结构相同的表中,可以在命令行下使用一对SQL语句完成该操作: 导出查询结果:Select语句 into outfile '保存路径+文件名'; 导入查询结果:load data local infile '保存路径+文件名' into table 表明 character set utf8; 例如: 查询出数据库jc1992中表jc_a

2015/5/5 mysql命令行导出数据

导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令行:mysqldump -u root -p ygeshop > ygeshop.sql (输入后会让你输入进入MySQL的密码)(如果导出单张表的话在数据库名后面输入表名即可) mysqldump -uroot -hlocalhost -P54321 -p qrcms > qrcms.sql 指定端口登陆: mysql -uroot -hlocalhost -P54321 -p 导入sql报错

mysql命令行导出数据

1. 包含表头 mysql -h${1} -P${2} -u${3} -p${4} -Dpom_${5} --default-character-set=utf8 -B -e > result.csv 2. 不含表头 mysql -h${1} -P${2} -u${3} -p${4} -Dpom_${5} --default-character-set=utf8 -B -N -e > result.csv 3. 列之间使用逗号分隔 mysql -h${1} -P${2} -u${3} -p${

MySQL命令行导入导出数据库

MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录,如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin(或者直接将windows的环境变量path中添加该目录) 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名,如我输入的命令行:mysqldump -u root -p news > news.sql (输入后会让你输入进入MySQL的密码)(如

MySQL用命令行导出数据库

MySQL命令行导出数据库:首先进入cmd然后:1. cd C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin2. mysqldump -uroot -p labos1502 > labos1502.sql3. 提示输入密码时,输入该数据库用户名的密码(如果导出单张表的话在数据库名后面输入表名即可)如果提示locktable错误:则在mysqldump -uroot -p abc后面空一格加上--skip-lock-tables4. 会看到文件la

使用MySQL命令行备份及恢复数据库

使用MySQL命令行,可以实现对数据库的备份以及恢复,下面就为您介绍使用MySQL命令行实现该功能的详细方法步骤,供您参考. MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin(或者直接将windows的环境变量path中添加该目录) 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令