---
title: "使用 OUTFILE 语句导出数据 | OceanBase 文档中心"
description: 使用 OUTFILE 语句导出数据 SELECT INTO OUTFILE 语句能够对需要导出的字段做出限制，满足不需要导出主键字段的场景。配合 LOAD DATA INFILE 语句导入数据，是一种很便利的数据导入导出方式。 背景信息 OceanBase 数据库 MySQL 模式兼容这一个语法。MySQL 模式下，…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.0.0 企业版

# 使用 OUTFILE 语句导出数据

更新时间：2026-06-08 20:12:09

SELECT INTO OUTFILE 语句能够对需要导出的字段做出限制，满足不需要导出主键字段的场景。配合 LOAD DATA INFILE 语句导入数据，是一种很便利的数据导入导出方式。

## 背景信息

OceanBase 数据库 MySQL 模式兼容这一个语法。MySQL 模式下，推荐使用OceanBase 数据库 V2.2.40 及以上版本，可以通过 MySQL Client、OBClient 执行命令。

> **注意**
>
>  
>
> 客户端需要直连 OceanBase 数据库实例才能执行导出操作。

## 语法格式

下述为 `SELECT INTO OUTFILE` 语句的语法：

```sql
SELECT [column_list] INTO OUTFILE {'/path/file' | 'oss://$PATH/$FILENAME/?host=$HOST&access_id=$ACCESSID&access_key=$ACCESSKEY'}
    [{FIELDS | COLUMNS}
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [FROM  TABLENAME]
        [WHERE condition]
        [GROUP BY group_expression_list ]
        [HAVING condition]]
        [ORDER BY order_expression_list]

```

| 参数 | 是否必填 | 描述 | 示例 |
| --- | --- | --- | --- |
| SELECT [column_list] | 是 | 选择需要导出的列，如果要选中全部数据可以用'*'表示。 | select ID,name,score |
| '/PATH/FILE' 或 'oss://$PATH/$FILENAME/?host=$HOST&access_id=$ACCESSID&access_key=$ACCESSKEY' | 是 | 选择导出的文件路径，支持导出到阿里云 OSS 中。   > **说明**   > 由于阿里云 OSS 有文件大小的限制，对于超过 5 GB 的文件，导出到 OSS 时会被拆分成多个文件，每个文件小于 5 GB。 | into outfile '/home/admin/student.sql' |
| [{FIELDS \| COLUMNS} [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] [ESCAPED BY 'char'] ] | 是 | 指定输出文件中各个字段的格式，通过 `Fields \\| Columns` 子句来指定。   - terminated by：用来指定字段值之间的符号。例如，`TERMINATED BY ','` 指定了逗号作为两个字段值之间的标志。 - enclosed by：用来指定包裹字段值的符号。例如， `ENCLOSED BY ' " '` 表示字符值放在双引号之间。如果使用了 `OPTIONALLY` 关键字，则仅对字符串类型的值使用指定字符包裹。 - escaped by：用来指定转义字符。例如， `ESCAPED BY '*'` 表示将星号（*）指定为转义字符来取代默认的转义字符（\）。 | `terminated by ',' enclosed by '"'` |
| [LINES [STARTING BY 'string'] [TERMINATED BY 'string'] ] | 是 | 指定输出文件中每一行的开始和结束字符，通过 Lines 子句设置。   - starting by：指定每一行开始的字符。 - terminated by：指定每一行的结束字符。 | `lines terminated by '\n'` 表示一行将以换行符作为结束标志。 |
| [FROM TABLENAME] [WHERE condition] [GROUP BY group_expression_list ] [HAVING condition]] [ORDER BY order_expression_list] | 是 | 指定需要导出的表及内容。   - where：查询的条件 - group by：分组属性 - having：分组过滤的条件 - order by：排序属性。 | from student |

## 使用示例

本文以数据导出到设备本地为例，提供数据的导出示例。

1. 创建表并插入数据。

   ```sql
   obclient> CREATE TABLE student (ID int primary key,name varchar(128),score int);
   Query OK, 0 rows affected

   obclient> INSERT INTO student VALUES(1,'lin',98),(2,'hei',90),(3,'ali',95);
   Query OK, 3 rows affected
   Records: 3  Duplicates: 0  Warnings: 0

   obclient> SELECT * FROM student;
   +----+------+-------+
   | ID | name | score |
   +----+------+-------+
   |  1 | lin  |    98 |
   |  2 | hei  |    90 |
   |  3 | ali  |    95 |
   +----+------+-------+
   3 rows in set

   ```
 2. 使用 `root` 用户登录到数据库的 `sys` 租户，设置集群级配置项 `secure_file_priv`，配置导入或导出文件时可以访问的路径。

   集群级配置项 `secure_file_priv` 用于控制导入或导出到文件时可以访问的路径。默认值为 `NULL`，表示导入、导出被禁用。

   ```sql
   obclient> SET GLOBAL secure_file_priv = "/home/admin";
   Query OK, 0 rows affected

   ```
 3. 使用 `SELECT INTO OUTFILE` 语句导出数据。

   ```sql
   obclient> SELECT ID,name,score INTO OUTFILE '/home/admin/student.sql'
                FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
                LINES TERMINATED BY '\n' FROM student;
   Query OK, 3 rows affected

   ```
 4. 登录机器，在设备本地的 `/home/admin` 目录下查看导出的文件信息。

   ```bash
   [root@***** /home/admin]cat student.sql
   1,"lin",98
   2,"hei",90
   3,"ali",95

   ```

## 更多信息

通过 OUTFILE 方法导出的文件，可以通过 load data 进行导入，详细方法，请参考 [使用 LOAD DATA 导入数据](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-0000000001078699)。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
