方法一、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 语句 。