mysql导出指定数据或部份数据的方法_Mysql

这个时候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、剩下的步骤就是导出这个新的表,然后进行文本的处理

方法二、使用MySQL的SELECT INTO OUTFILE 备份语句(推荐)

在下面的例子中,生成一个文件,各值用逗号隔开。这种格式可以被许多程序使用。

复制代码 代码如下:

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

很奇妙的是我发现了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

时间: 2025-01-29 08:17:54

mysql导出指定数据或部份数据的方法_Mysql的相关文章

mysql安装时出现各种常见问题的解决方法_Mysql

小编为大家整理许多mysql安装时出现各种常见问题的解决方法,供大家参考,具体内容如下 问题一: 当各位在安装.重装时出现could not start the service mysql error:0原因: 卸载mysql时并没有完全删除相关文件和服务,需要手动清除. 安装到最后一步execute时不能启动服务的解决方法: 首先,在管理工具->服务里面将MySQL的服务给停止(有的是没有安装成功,有这个服务,但是已经停止了的),win+R->cmd,打开命令提示符窗口,输入命令:sc de

MySQL查看、创建和删除索引的方法_Mysql

本文实例讲述了MySQL查看.创建和删除索引的方法.分享给大家供大家参考.具体如下: 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍. 例如,有3个未索引的表t1.t2.t3,分别只包含列c1.c2.c3,每个表分别含有1000行数据组成,指为1-1000的数值,查找对应值相等行的查询如下所示. SELECT c1,c2,c3 FROM t1,t2,t3

MySQL查看和修改字符编码的实现方法_Mysql

MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8. 1.需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为: >show variables like 'character%'; +--------------------------+----------------------------+ | Variab

MYSQL分页limit速度太慢的优化方法_Mysql

在mysql中limit可以实现快速分页,但是如果数据到了几百万时我们的limit必须优化才能有效的合理的实现分页了,否则可能卡死你的服务器哦.    当一个表数据有几百万的数据的时候成了问题!    如 * from table limit 0,10 这个没有问题 当 limit 200000,10 的时候数据读取就很慢,可以按照一下方法解决     第一页会很快    PERCONA PERFORMANCE CONFERENCE 2009上,来自雅虎的几位工程师带来了一篇"Efficient

mysql优化limit查询语句的5个方法_Mysql

mysql的分页比较简单,只需要limit offset,length就可以获取数据了,但是当offset和length比较大的时候,mysql明显性能下降 1.子查询优化法 先找出第一条数据,然后大于等于这条数据的id就是要获取的数据 缺点:数据必须是连续的,可以说不能有where条件,where条件会筛选数据,导致数据失去连续性,具体方法请看下面的查询实例: 复制代码 代码如下: mysql> set profiling=1; Query OK, 0 rows affected (0.00

MySQL插入中文不乱码的5种方法_Mysql

方法一: 登录MySQL,先做 set names latin1 ,然后在更新语句或者执行SQL语句 mysql> set names latin1; mysql> source test.sql; 方法二:在SQL文件中指定set names latin1;然后登录MySQL,执行相应文件 [root@localhost ~]# cat test.sql set names latin1; insert *****************; mysql> source test.sql

mysql简单实现查询结果添加序列号的方法_Mysql

本文实例讲述了mysql简单实现查询结果添加序列号的方法.分享给大家供大家参考,具体如下: 第一种方法: 复制代码 代码如下: select (@i:=@i+1) as i,table_name.* from table_name,(select @i:=0) as it 第二种方法: set @rownum=0; select @rownum:=@rownum+1 as rownum, t.username from auth_user t limit 1,5; 更多关于MySQL相关内容感兴

MySql 修改密码后的错误快速解决方法_Mysql

设置好密码后,使用数据库时出现如下错误: ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo re executing this statement. You must SET PASSWORD before executing this statement的解决方法 今天在MySql5.6操作时报错:You must SET PASSWORD before executing this

MySQL 导出数据为csv格式的方法_Mysql

方案有很多种,我这里简单说一下: 1.  into outfile 复制代码 代码如下: SELECT * FROM mytable   INTO OUTFILE '/tmp/mytable.csv'   FIELDS TERMINATED BY ','   OPTIONALLY ENCLOSED BY '"'   LINES TERMINATED BY '\n';   在我使用过程中发现一个特别严重问题,这里面不能插入查询条件,比如where这些,也就是说只能整表导出,不知道是不是我的写法有问