MySQL使用SELECT INTO OUTFILE导出文本文件
2016-08-10 16:40
731 查看
MySQL使用SELECT...INTO OUTFILE导出文本文件
MySQL中,可以使用SELECT...INTO OUTFILE语句将表的内容导出为一个文本文件。其基本的语法格式如下:SELECT [列名] FROM table [WHERE 语句] INTO OUTFILE '目标文件' [OPTION];
该语句分为两个部分。前半部分是一个普通的SELECT语句,通过这个SELECT语句来查询所需要的数据;后半部分是导出数据的。其中,“目标文件”参数指出将查询的记录导出到哪个文件中;“OPTION”参数为可选参数选项,其可能的取值有:
FIELDS TERMINATED BY '字符串':设置字符串为字段之间的分隔符,可以为单个或多个字符。默认值是“\t”。
FIELDS ENCLOSED BY '字符':设置字符来括住字段的值,只能为单个字符。默认情况下不使用任何符号。
FIELDS OPTIONALLY ENCLOSED BY '字符':设置字符来括住CHAR、VARCHAR和TEXT等字符型字段。默认情况下不使用任何符号。
FIELDS ESCAPED BY '字符':设置转义字符,只能为单个字符。默认值为“\”。
LINES STARTING BY '字符串':设置每行数据开头的字符,可以为单个或多个字符。默认情况下不使用任何字符。
LINES TERMINATED BY '字符串':设置每行数据结尾的字符,可以为单个或多个字符。默认值是“\n”。
FIELDS和LINES两个子句都是自选的,但是如果两个子句都被指定了,FIELDS必须位于LINES的前面。
提示:
该语法中的“目标文件”被创建到服务器主机上,因此必须拥有文件写入权限(FILE权限)后,才能使用此语法。同时,“目标文件”不能是一个已经存在的文件。SELECT...INTO OUTFILE语句可以非常快速地把一个表转储到服务器上。如果想要在服务器主机之外的部分客户主机上创建结果文件,则不能使用SELECT...INTO OUTFILE语句。
实例
使用SELECT...INTO OUTFILE语句来导出example数据库下employee表的记录。其中,字段之间用“、”隔开,字符型数据用双引号括起来。每条记录以“>”开头。SQL代码如下:SELECT * FROM example.employee INTO OUTFILE 'F:/backup/tb_chengji.txt' FIELDS TERMINATED BY '\、' OPTIONALLY ENCLOSED BY '\"' LINES STARTING BY '\>' TERMINATED BY '\r\n';
FIELDS必须位于LINES的前面,多个FIELDS子句排列在一起时,后面的FIELDS必须省略;同样,多个LINES子句排列在一起时,后面的LINES也必须省略。
如果在employee表中包含了中文字符,使用上面的语句则会输出乱码。此时,加入CHARACTER SET gbk语句即可解决这一个问题。修改SQL代码如下:
SELECT * FROM example.employee INTO OUTFILE 'F:/backup/tb_chengji.txt' [code]CHARACTER SET gbk
FIELDS
TERMINATED BY '\、'
OPTIONALLY ENCLOSED BY '\"'
LINES
STARTING BY '\>'
TERMINATED BY '\r\n';[/code]
“TERMINATED BY '\r\n'”可以保证每条记录占一行。因为Windows操作系统下“\r\n”才是回车换行。如果不加这个选项,默认情况只是“\n”。
用root用户登录到MySQL服务器中,然后执行上述命令。
执行结果如下:
从上图中代码执行的结果可以看出,SELECT...INTO OUTFILE语句执行成功。
此时,在F:\backup\里面看到一个名为employee.txt的文本文件。employee.txt文件中的内容如下图所示:
这些记录都是以“>”开头,每条记录之间以“、”隔开。而且,字符数据都加上了双引号。
相关文章推荐
- MySQL导出表字段和数据(select into outfile的灵活使用)
- MySQL使用 INTO INFILE/OUTFILE导入导出数据
- MySQL无法使用select into outfile
- 使用select into outfile "文件"语句导出数据表记录
- MySQL使用SELECT...INTO OUTFILE导出文本文件
- mysql下使用select into outfile来备份数据
- 使用python将mysql数据导入excel-select into outfile
- linux下mysql使用select into outfile权限问题
- MySQL 导出数据select into outfile用法
- mysql load data 与 select into outfile 配合实现文本文件导入导出
- MySQL通过自增一列在Select ... into outfile...里面实现CSV导出带字段的效果
- MySQL数据库按指定格式导出数据进行备份(select into outfile)和恢复数据的方法
- 语法:MySQL中INSERT INTO SELECT的使用
- MySQL中INSERT INTO SELECT的使用
- 语法:MySQL中INSERT INTO SELECT的使用
- 语法:MySQL中INSERT INTO SELECT的使用
- 语法:MySQL中INSERT INTO SELECT的使用
- 语法:MySQL中INSERT INTO SELECT的使用
- 语法:MySQL中INSERT INTO SELECT的使用
- MySQL中INSERT INTO SELECT的使用