EXPORT INTO 语句(数据导入导出)
将表或视图导出到单个 CSV 文件。
语法
EXPORT INTO { | } FROM
[ WITH ]
语法元素
指定 CSV 文件的完整路径。 ::= 请参阅使用云源导入和导出数据。指定导出的云存储位置。 ::= { | | | }指定 Azure 导出文件的位置。 ::= 'azure://[@]/ 未使用 WITH CREDENTIAL 参数时需要。 ::= : 指定用于访问存储的 Azure 容器的名称。 指定 Azure 存储中对象的路径。指定 Amazon (AWS) 导出文件的位置。 ::= 's3-://[@]/ 指定存储桶所在的地理区域。请参阅区域和可用性区域。 WITH CREDENTIAL 参数不支持。指定从 AWS IAM 管理控制台进行 API 访问的凭据密钥对。这不是 AWS 账户。 ::= ': 指定创建 Amazon 存储桶时为其分配的名称。 指定已命名存储桶内对象的路径。指定 Google Cloud 存储导出文件的位置。 ::= 'gs://[@]/' WITH CREDENTIAL 参数不支持。指定从 Google IAM 管理控制台访问的凭据密钥对。这不是 Google Cloud 账户。 ::= : 指定创建 Google Cloud 存储桶时为其分配的名称。 指定已命名存储桶内对象的路径。指定 SAP HANA Cloud 数据湖文件 (HDLFS) 的位置。 ::= hdlfs:/// 指定数据湖文件中提供的服务器地址。它由数据湖文件容器标识和架构组成。 指定数据湖文件容器中的路径或文件名。指定要导出的表或视图的名称。 ::= [ .] 指定控制导出行为的选项列表。 ::= [ […] ] ::= { THREADS | COLUMN LIST IN FIRST ROW | RECORD DELIMITED BY | FIELD DELIMITED BY | OPTIONALLY ENCLOSED BY | ESCAPE | CREDENTIAL ''} THREADS 指定可以使用导出的线程数。缺省值是 10 或 CPU 内核数中的较小值。 ::= 第一行中的列清单指示列列表存储在 CSV 导入文件的第一行中。 RECORD DELIMITED BY ::= FIELD DELIMITED BY 指定 CSV 文件的字段分隔符。 ::= OPTIONALLY ENCLOSED BY 指定分隔字段数据的可选封装字符。 ::= ESCAPE指定 CSV 导出使用的转义字符,以区分字段数据的封闭字符和字段数据中包含的任何相同字符。 ::= 如果未指定,则使用缺省字符 (\)。此选项仅对 CSV 格式有效。 CREDENTIAL 指定在 CREATE CREDENTIAL 语句中定义的凭据的名称。由于凭据在凭据中定义,因此它们不再作为导出语句的一部分显示为纯文本。当 包含凭据时,无法指定 WITH CREDENTIAL 子句。导出到 SAP HANA Cloud 数据湖文件需要 WITH CREDENTIAL 子句,但对于所有其他云平台,可以选择性使用该子句。
许可
需要具备以下所有条件:
- 对要导出对象的
SELECT 权限。
要导出列加密密钥 (CEK),还必须具有 CEK 的 USAGE 权限。
描述
使用 EXPORT INTO 语句将数据从表或视图导出到单个 CSV 文件中。
EXPORT INTO 命令不支持参数化视图。
定义为 C AS A+B 的计算列的值和定义为 GENERATED ALWAYS AS A+B 的已生成列的值不会导出。
示例
以下示例创建表和视图,进行填充,然后将每个表和视图导出到单独的 CSV 文件。
CREATE TABLE t (a INT, b NVARCHAR(50));
INSERT INTO t VALUES (0, 'test!@#$%');
CREATE VIEW v AS SELECT * FROM t;
EXPORT INTO '/tmp/view_content.csv' FROM v;
EXPORT INTO '/tmp/table_with_header.csv' FROM t WITH COLUMN LIST IN FIRST ROW FIELD DELIMITED BY '!' ESCAPE '@';
此语句将表导出到 Amazon S3 存储桶中的 CSV 文件。
EXPORT INTO 's3-eu-central-1://AKIAxxxxxxxxxx:xl6WWxxxxxxxxxx@imex-demo/tpch1_lineitem.csv' FROM TPCH1.LINEITEM WITH FIELD DELIMITED BY',' THREADS 4;