SELECT ... INTO OUTFILE语句把表数据导出到一个文本文件中
语法格式:
SELECT [列名] FROM table [WHERE 语句]
INTO OUTFILE '目标文件' [OPTION];
“OPTION”参数为可选参数选项,其可能的取值有:
FIELDS
TERMINATED BY '字符串':设置字符串为字段之间的分隔符,可以为单个或多个字符。默认值是“\t”。
ENCLOSED BY '字符':设置字符来括住字段的值,只能为单个字符。默认情况下不使用任何符号。
OPTIONALLY ENCLOSED BY '字符':设置字符来括住CHAR、VARCHAR和TEXT等字符型字段。默认情况下不使用任何符号。
ESCAPED BY '字符':设置转义字符,只能为单个字符。默认值为“\”。
LINES
STARTING BY '字符串':设置每行数据开头的字符,可以为单个或多个字符。默认情况下不使用任何字符。
TERMINATED BY '字符串':设置每行数据结尾的字符,可以为单个或多个字符。默认值是“\n”。
FIELDS和LINES两个子句都是自选的,但是如果两个子句都被指定了,FIELDS必须位于LINES的前面。
eg:
使用SELECT...INTO OUTFILE语句来导出测试用的test数据库的test表的记录。其中,字段之间用“,”隔开,字符型数据用单引号括起来。SQL代码如下:
SELECT * FROM test.test INTO OUTFILE '/test/tmp/file_name.txt'
FIELDS
TERMINATED BY ','
ENCLOSED BY '\''
LINES
TERMINATED BY '\n';
或
select * into outfile '/test/tmp/file_name.txt'
FIELDS
TERMINATED BY ','
ENCLOSED BY '\''
LINES
TERMINATED BY '\n'
FROM test.test
where 1
导入文本为以下样例:
'1518070930','','9'
'1518070930','','9'
'1518070930','','9'
'1518070930','','9'