mysql导出部分数据
Nov
16
mysql导出部分数据
mysql虽然可以使用mysqldump来进行数据的到处,可是在很多场合的需求都不一样,比如我只要导出某个字段呢?只要导出某些我需要的数据呢?
这个时候mysqldump可能就不大好使了
方法一、
insert和select结合使用
1、新建一个表,比如new-table,包含所要导出的字段的名称,比如a,b,c
2、使用insert into new-table (a,b,c) select a,b,c from old-table;
3、剩下的步骤就是导出这个新的表,然后进行文本的处理
方法二(推荐)、
在下面的例子中,生成一个文件,各值用逗号隔开。这种格式可以被许多程序使用。
SELECT a,b,a+b INTO OUTFILE ‘/tmp/result.text’
FIELDS TERMINATED BY ‘,’ OPTIONALLY ENCLOSED BY ‘"’
LINES TERMINATED BY ‘\n’
FROM test_table;
详细见select的使用方法
select subject into outlifile ‘/tmp/xiaoruizi.text’ fields terminated by ‘\t’ optionally enclosed by ‘"’ lines terminated by ‘\n’ from pw_blog;
方法三、
很奇妙的是我发现了mysqldump其实有个很好用的参数“—w”
帮助文档上说明:
-w|–where=
dump only selected records; QUOTES mandatory!
那么是不是可以利用这个参数来导出某些值呢?比如我只要导出id大于2312387的某些数据:
mysqldump -u root -p bbscs6 BBSCS_USERINFO –where "ID>2312387" > BBSCS_USERINFO-par.sql


















Comment by 阿债 | [Reply]
工具大法:最好的Mysql管理工具是navicat mysql,完全可视化,用于本地和局域网内,远程不推荐。
首先使用navicat查看一张表的数据,然后选工具栏第三项“筛检向导”限定你需要的数据范围;
再选工具栏第二项“导出向导”,弹出对话框“要导出全部数据吗?”,注意选“否”,要不然刚才筛检就白费了。
然后就是把默认的导出格式txt改为sql,再下一个页面Export to里面选择一个存放文件位置。全程傻瓜!
Comment by 阿债 | [Reply]
话说这navicat mysql最让人不爽的汉化,都是偷懒直接把台湾人翻译的繁体转为简体,连术语都没改。有时把人看的稀里糊涂。
有个发生在阿债世界的故事是这样的:navicat mysql里面,数据表的右键菜单里有个“清空表”,每次用了以后效果和“TRUNCATE”命令效果有点不同,数据是清空了,但自增主键不会被重置为1。还好再从设计表->选项中,将“自动递增”填入1就搞定了。
“清空表”下面有个“截短表”,一直不理解这个截短是什么毁灭性操作。若干年后,发现就是“TRUNCATE”!
Comment by 汽车 | [Reply]
博客的布局不错啊!上次来没看到你有这么多的照片啊 什么时候传上去的啊今年的汽车行情不错去看看吧汽车http://www.cn-auto.org/
Comment by 小区 | [Reply]
小区(www.88471.cn)文章写的不错,顶一下。顺祝博主元宵节快乐~