---
title: "查看表 - OceanBase 数据库 V4.2.5 | OceanBase 文档中心"
description: "查看表 表创建成功后，您可以通过 SQL 语句查看数据库中的所有表，以及指定表的定义和表结构等。 查看数据库中的表 表创建成功后，可以使用 SHOW TABLES 语句查看数据库的所有表。语句如下： SHOW [EXTENDED] [FULL] TABLES [{FROM | IN} database_name]; …"
---
切换语言

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

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

# 查看表

更新时间：2026-07-15 20:42:47

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.5/zh-CN/700.reference/300.database-object-management/100.manage-object-of-mysql-mode/200.manage-tables-of-mysql-mode/500.view-the-definition-of-a-table-of-mysql-mode.md)  

表创建成功后，您可以通过 SQL 语句查看数据库中的所有表，以及指定表的定义和表结构等。

## 查看数据库中的表

表创建成功后，可以使用 `SHOW TABLES` 语句查看数据库的所有表。语句如下：

```sql
SHOW [EXTENDED] [FULL] TABLES [{FROM | IN} database_name];

```

语句中：

- `EXTENDED`：展示隐藏的表。由于 OceanBase 数据库当前版本不会产生隐藏表，该参数无实际作用。
 - `FULL`：展示表类型。
 - `database_name`：待查询的数据库。

查看数据库 `test` 中所有表的示例如下：

```sql
SHOW TABLES FROM test;

```

查询结果如下：

```shell
+----------------+
| Tables_in_test |
+----------------+
| t1             |
+----------------+
1 row in set

```

更多 `SHOW TABLES` 语句的介绍，请参见 [SHOW](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001503274)。

## 查看表的定义

表创建成功后，您可以使用 `SHOW CREATE TABLE` 语句查看表的定义。

查看表 `test` 的定义的示例如下：

```sql
obclient [test]> SHOW CREATE TABLE test;

```

结果如下：

```shell
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                                                                  |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test  | CREATE TABLE `test` (
  `id` int(11) DEFAULT NULL,
  `name` char(50) DEFAULT NULL
) DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = 'zstd_1.3.8' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set

```

部分字段说明如下：

- `DEFAULT CHARSET = utf8mb4`：指定默认字符集为 `utf8mb4`。
 - `ROW_FORMAT = DYNAMIC`：表示打开数据编码。
 - `COMPRESSION`：表的压缩方式。
 - `PCTFREE`：表示留给更新该块数据的使用空间。

## 查看表结构

表创建成功后，您可以使用 `SHOW COLUMNS/FIELDS` 语句查看表结构。语句如下：

```sql
SHOW [EXTENDED] [FULL] {COLUMNS | FIELDS}
    {FROM | IN} table_name
    [{FROM | IN} database_name];

```

语句中：

- `EXTENDED`：展示隐藏的列。
 - `FULL`：展示列的字符序、权限与注释。
 - `table_name`：待查询的表。
 - `database_name`：待查询的表所属的数据库。

示例如下：

- 查看表 `test` 的表结构。

  ```sql
  obclient [test]> SHOW COLUMNS FROM test;

  ```

  查询结果如下：

  ```shell
  +-------+----------+------+-----+---------+-------+
  | Field | Type     | Null | Key | Default | Extra |
  +-------+----------+------+-----+---------+-------+
  | id    | int(11)  | YES  |     | NULL    |       |
  | name  | char(50) | YES  |     | NULL    |       |
  +-------+----------+------+-----+---------+-------+
  2 rows in set

  ```
 - 查看表 `test` 中包括隐藏的列在内的所有列。

  ```sql
  obclient [test]> SHOW EXTENDED COLUMNS FROM test;

  ```

  查询结果如下：

  ```shell
  +----------------+-----------------+------+-----+---------+-------+
  | Field          | Type            | Null | Key | Default | Extra |
  +----------------+-----------------+------+-----+---------+-------+
  | id             | int(11)         | YES  |     | NULL    |       |
  | name           | char(50)        | YES  |     | NULL    |       |
  | __pk_increment | bigint unsigned | NO   | PRI | NULL    |       |
  +----------------+-----------------+------+-----+---------+-------+
  3 rows in set

  ```

更多 `SHOW COLUMNS/FIELDS` 语句的介绍，请参见 [SHOW](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001503274)。

## 检查表

可以使用 `CHECK TABLE` 语句检查数据库中的表是否存在。

有关 `CHECK TABLE` 语句的详细信息，参见 [CHECK TABLE](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001503313)。

**示例如下：**

1. 当表 `tbl1` 不存在时，查看检查表 `tbl1` 的返回信息。

   ```shell
   obclient [test]> CHECK TABLE tbl1;

   ```

   返回结果如下：

   ```shell
   +-----------+-------+----------+---------------------------------+
   | Table     | Op    | Msg_type | Msg_text                        |
   +-----------+-------+----------+---------------------------------+
   | test.tbl1 | check | Error    | Table 'test.tbl1' doesn't exist |
   | test.tbl1 | check | status   | Operation failed                |
   +-----------+-------+----------+---------------------------------+
   2 rows in set

   ```
 2. 创建表 `tbl1`。

   ```shell
   obclient [test]> CREATE TABLE tbl1(col1 INT, col2 VARCHAR(18));

   ```
 3. 再次检查表 `tbl1`，查看返回信息。

   ```

   返回结果如下：

   ```shell
   +-----------+-------+----------+----------+
   | Table     | Op    | Msg_type | Msg_text |
   +-----------+-------+----------+----------+
   | test.tbl1 | check | status   | OK       |
   +-----------+-------+----------+----------+
   1 row in set

   ```

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