SELECT INTO语句
Contents
SELECT INTO语句#
Syntax#
SelectIntoStmt
::= SelectStmt 'INTO' 'OUTFILE' filePath SelectIntoOptionList
filePath ::= string_literal
SelectIntoOptionList
::= 'OPTIONS' '(' SelectInfoOptionItem (',' SelectInfoOptionItem)* ')'
SelectInfoOptionItem
::= 'DELIMITER' '=' string_literal
|'HEADER' '=' bool_literal
|'NULL_VALUE' '=' string_literal
|'FORMAT' '=' string_literal
|'MODE' '=' string_literal
SELECT INTO OUTFILE语句用户将表的查询结果导出为一个文件。 LOAD DATA INFILE 语句与SELECT INTO OUTFILE互补,它用于从指定文件创建表以及加载数据到表中。SELECT INTO OUTFILE分为三个部分。
第一部分是一个普通的SELECT语句,通过这个SELECT语句来查询所需要的数据;
第二部分是
filePath,定义将查询的记录导出到哪个文件中;第三部分是
SelectIntoOptionList为可选选项,其可能的取值有:
配置项 |
类型 |
默认值 |
描述 |
|---|---|---|---|
delimiter |
String |
, |
列分隔符,默认为 |
header |
Boolean |
true |
是否包含表头, 默认为 |
null_value |
String |
null |
NULL填充值,默认填充 |
format |
String |
csv |
输出文件格式,默认为 |
mode |
String |
error_if_exists |
输出模式: |
quote |
String |
“” |
输出数据的包围字符串,字符串长度<=1。默认为””,表示输出数据包围字符串为空。当配置包围字符串时,将使用包围字符串包围一个field。例如,我们配置包围字符串为 |
LOAD DATA INFILE 语句与SELECT INTO OUTFILE互补,它用户从指定文件创建表以及加载数据到表中。
SQL语句模版#
SELECT ... INTO OUTFILE 'file_path' OPTIONS (key = value, ...)
Examples#
从表
t1查询输出到data.csv文件中,使用,作为列分隔符
SELECT col1, col2, col3 FROM t1 INTO OUTFILE 'data.csv' OPTIONS ( delimit = ',' );
从表
t1查询输出到data.csv文件中,使用|作为列分隔符,NULL值的填充值为NA字符串:
SELECT col1, col2, col3 FROM t1 INTO OUTFILE 'data2.csv' OPTIONS ( delimit = '|', null_value='NA');