---
title: "通过 DBLink 访问远端数据库中的数据 - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: 通过 DBLink 访问远端数据库中的数据 DBLink 创建成功后，可以通过 DBLink 访问远端数据库的对象，对象包括表和视图等。 使用限制 暂不支持 OceanBase 数据库的 MySQL 租户通过 DBLink 读取 MySQL 数据库的数据，也不支持 MySQL 数据库通过 DBLink 读取 Ocea…
---
切换语言

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

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

# 通过 DBLink 访问远端数据库中的数据

更新时间：2026-04-04 19:56:53

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/700.reference/300.database-object-management/100.manage-object-of-mysql-mode/900.manage-dblink-of-mysql-mode/300.access-a-remote-database-by-ablink-of-mysql-mode.md)  

DBLink 创建成功后，可以通过 DBLink 访问远端数据库的对象，对象包括表和视图等。

## 使用限制

- 暂不支持 OceanBase 数据库的 MySQL 租户通过 DBLink 读取 MySQL 数据库的数据，也不支持 MySQL 数据库通过 DBLink 读取 OceanBase 数据库的 MySQL 租户的数据。
 - MySQL 模式下，支持通过 DBLink 访问的数据类型如下：

     - 数值类型：TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、FLOAT、DOUBLE、DECIMAL
     - 时间类型：DATE、TIME、YEAR、DATETIME、TIMESTAMP
     - 字符类型：CHAR、VARCHAR、TINYBLOB、TINYTEXT、BLOB、TEXT、MEDIUMBLOB、LONGBLOB、LONGTEXT
     - 其他类型：ENUM、SET

      #### 注意

      受限于 OBClient，当前通过 DBLlink 读取表数据时，会将远端表中 `ENUM` 和 `SET` 类型的列当作 `VARCHAR` 类型列处理。

  有关各数据类型的详细介绍及说明，请参见 [数据类型概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480802)。

## 前提条件

已创建 DBLink，创建 DBLink 的详细操作，参见 [创建 DBLink](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476724)。

## 访问远端数据库表的数据

使用 `SELECT... FROM 表名@DBLink 名` 语法来访问远端数据库中表的数据，SQL 语句如下：

```sql
SELECT select_expr_list
      FROM table_name@dblink_name
      WHERE where_conditions;

select_expr_list:
    table_name.*
    | table_alias_name.*
    | expr [[AS] column_alias_name]

```

语句使用说明：

- `select_expr_list`：指定待查询的表达式或列名，不同的列之间用英文逗号（,）隔开，星号（*）表示所有列。

     - `table_name.*`：指定从指定的表、视图中选择所有的列。
     - `table_alias_name.*`：指定表、视图的别名。
     - `expr [[AS] column_alias_name]`：指定查询列或表达式的别名，`AS` 为可选。
 - `table_name@dblink_name`：指定待查询的远端数据库中的表，多个数据库之间用英文逗号（,）隔开。默认访问创建 DBLink 时所指定的数据库中的表，如果需要访问其他数据库中的表，可以在 SQL 语句中指定，格式为 `database_name.table_name@dblink_name`。
 - `where_conditions`：指定筛选条件，查询结果中仅包含满足条件的数据，为可选项。

更多 DBLink 相关的查询语句，参见 [SELECT 语句](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004480787)。

示例如下：

- 通过名为 `ob_dblink` 的 DBLink 查询远端数据库中表 `tbl1` 的数据。

  ```sql
  SELECT * FROM tbl1@ob_dblink;

  ```
 - 通过 DBLink 读取远端数据库 `test` 中的表 `tbl1` 表，并与本地数据库的表 `tbl1` 做 Join 操作。

  ```sql
  SELECT a.c_decimal, b.c_double FROM tbl1 a, tbl1@ob_dblink b WHERE a.c_int = b.c_int;

  ```
 - 通过 DBLink 读取远端数据库 `mysql`（创建 DBLink 时指定的数据库为 `test`）中的 `tbl2` 表。

  ```sql
  SELECT * FROM mysql.tbl2@ob_dblink;

  ```

## 相关文档

更多 DBLink 相关的操作，请参见以下信息：

- [创建 DBLink](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476724)
 - [查看已创建的 DBLink](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476723)
 - [删除 DBLink](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476725)

 上一篇 下一篇 ![有帮助](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) 咨询热线
