MySQL 命令行导出、导入Select 查询结果
<!-- 环境: Windows 2003 SP2 + MySQL5.5.28 Author: 博客园小dee -->
有的时候需要把在一张表中用 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数据库-MySQL命令行导出导入数据库,数据库备份还原
MySQL命令行导出导入数据库,数据库备份还原 MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program ...
- mysql命令行导出导入,附加数据库
MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server ...
- mysql命令行导出导入数据库
一.MYSQL的命令行模式的设置: 桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二. ...
- mysql 命令行导出导入数据
导出数据库(sql脚本) mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u root -p --databases db_name > test ...
- mysql进阶(十三)命令行导出导入数据库
MySQL命令行导出导入数据库 MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd D:\Program Files\ ...
- MySQL命令行导出、导入数据库,备份数据库表
MySQL导出数据库/数据表 1.首先,将你MySQL安装目录,例如C:\Program Files\MySQL\MySQL Server 5.7\bin添加到你的系统环境变量PATH中: 2.导出数 ...
- MySQL命令行导出数据库
MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server ...
- mysql命令行的导入导出sql,txt,excel(都在linux或windows命令行操作)(转自筑梦悠然)
原文链接https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/73805962 Mysql导入导出sql,txt,excel 首先我们通过命令行 ...
- Mysql 用命令行导出导入数据方法
方法一: 导出参考:https://www.cnblogs.com/activiti/p/6700044.html 用mysqldump可以导出整个数据库里的表和数据,不单单是只导出某个表的数据 命令 ...
随机推荐
- RocketMQ最佳实践
1.RocketMQ中的专业术语 Topic topic表示消息的第一级类型,比如一个电商系统的消息可以分为:交易消息.物流消息...... 一条消息必须有一个Topic. Tag Tag表示消息的第 ...
- git linux
第一节 GIT最初是由Linus Benedict Torvalds为了更有效地管理Linux内核开发而创立的分布式版本控制软件,与常用的版本控制工具如CVS.Subversion不同,它不必服务器端 ...
- iOS及时log日志查看工具 (iConsole)
github下载地址:https://github.com/nicklockwood/iConsole 偶然看到的一个iOS及时log日志查看工具,通过该工具,我们可以在任何想看日志的时候,通过手势呼 ...
- 查询DDOS攻击IP列表 grep -i
[root@xsx ~]# netstat -an|grep -i syn_recv|awk '{print $5}'|awk -F\: '{print $1}'|sort|uniq -c 1 149 ...
- JUC回顾之-CyclicBarrier底层实现和原理
1.CyclicBarrier 字面意思是可循环(Cyclic)使用的屏障(Barrier).它要做的事情是让一组线程到达一个屏障(同步点)时被阻塞,直到最后一个线程到达屏障时候,屏障才会开门.所有被 ...
- hadoop1.2.1的namenode格式化失败的问题
最近要开始找工作,就在原来搭建好的hadoop1.2.1的伪分布式跑跑mapreduce 很久没用,就想着格式化一下namode,结果: Format aborted in /uar/local/ha ...
- Log4Net 配置StmpAppender
目录 Log4Net 配置StmpAppender 1 1.前言 1 2.详细配置 1 1.StmpAppender配置 1 2.Root 配置 2 3.更多选项 ...
- windows 8 系统部署IIS并发布网站
企业用户可以在已经部署了windows 8 的电脑中通过部署IIS服务器来发布自己公司的企业内部网站实现对企业的网络办公的管理工作. 准备篇 IIS的添加和运行 一.IIS的添加 1.请进入“控制面板 ...
- ural 1153. Supercomputer
1153. Supercomputer Time limit: 2.0 secondMemory limit: 64 MB To check the speed of JCN Corporation ...
- centos 安装网络错误
yum install vnc-server 提示安装成功 rpm -q vnc-server 返回 package vnc-server is not installed 然而再重新安装时 yu ...