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

方法一、insert和select结合使用

1、新建一个表,比如new-table,包含所要导出的字段的名称,比如a,b,c

2、使用insert intonew-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 ‘,' OPTIONALLYENCLOSED BY ‘"'

LINES TERMINATED BY ‘\n'

FROM test_table;


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 selectedrecords; QUOTES mandatory!

mysqldump -u root -p bbscs6 BBSCS_USERINFO–where "ID>2312387" > BBSCS_USERINFO-par.sql


方法四、mysql load data infile的使用 和SELECT into outfile备份数据库数据

LOAD DATA[LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'

[REPLACE | IGNORE]

INTO TABLE tbl_name

[FIELDS

[TERMINATED BY'string']

[[OPTIONALLY] ENCLOSEDBY 'char']

[ESCAPED BY 'char' ]

]

[LINES

[STARTING BY 'string']

[TERMINATED BY'string']

]

[IGNORE number LINES]

[(col_name_or_user_var,...)]

[SET col_name =expr,...]]

LOAD DATA INFILE 语句以很高的速度从一个文本文件中读取行到一个表中。文件名必须是一个文字字符串。

关于INSERT 与LOAD DATA INFILE 的效率和提高LOAD DATA INFILE 速度的更多信息,参考管理员手册中的加速INSERT 语句 。

你可能感兴趣的:(mysql导出指定数据或部份数据的方法)