---
title: "使用 ODC 创建表 | OceanBase 文档中心"
description: 使用 ODC 创建表 OceanBase 开发者中心（OceanBase Developer Center，ODC）支持可视化方式创建表。本文介绍如何使用 ODC 创建表。 前提条件 已新建 MySQL 模式的数据库连接。 概述 如上图所示，创建表包含以下 7 个步骤： 指定基本信息。 设置列。 设置分区规则。 设置…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

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

# 使用 ODC 创建表

更新时间：2023-07-19 13:03:07

OceanBase 开发者中心（OceanBase Developer Center，ODC）支持可视化方式创建表。本文介绍如何使用 ODC 创建表。

## 前提条件

已新建 MySQL 模式的数据库连接。

## 概述

![新建表](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/333/%E6%96%B0%E5%BB%BA%E8%A1%A8-%E6%A6%82%E8%BF%B0.png)

如上图所示，创建表包含以下 7 个步骤：

1. 指定基本信息。
 2. 设置列。
 3. 设置分区规则。
 4. 设置索引。
 5. 设置约束。
 6. 确认 SQL。
 7. 完成新建表。

## 操作步骤

以在 ODC 中创建员工表（employee）为例，员工表中包含员工工号（emp_no）、员工生日（birthdate）、员工姓名（name）和员工性别（gender）。具体操作步骤如下：

### 步骤 1：指定基本信息

在 OceanBase 开发者中心（OceanBase Developer Center，ODC）单击连接名进入连接后，在左侧导航栏中单击 **表** 标签可查看表列表。在表列表的右上角，单击 **+** 创建表，或在顶部导航栏中单击 **新建** 以创建所需对象。

在 **基本信息** 中，输入 **表名称** 和表的 **描述** 。

> **说明**
>  在 MySQL 模式下，同时需要选择 **默认字符集** 和 **默认排序规则** 。

![步骤1](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/333/%E6%96%B0%E5%BB%BA%E8%A1%A8-%E6%AD%A5%E9%AA%A4%E4%B8%80.png)

### 步骤 2：设置列

如下图所示，添加一列时需指定以下信息：

![步骤2](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/333/%E6%96%B0%E5%BB%BA%E8%A1%A8-%E6%AD%A5%E9%AA%A4%E4%BA%8C.png)

| 信息项 | 说明 |
| --- | --- |
| 字段名称 | 指定字段（列）的名称。 |
| 数据类型 | 指定字段（列）的数据类型。 |
| 非空 | 是否限制该字段（列）的值不能为空。 |
| 自增（MySQL 模式下） | 选择是否为自增列。 |
| 缺省值 | 该字段（列）的默认值。 |
| 字段注释 | 对该字段（列）的说明。 |

设置列页面同时提供三个功能键：

| 功能项 | 说明 |
| --- | --- |
| +新建 | 添加一个新字段。 |
| 编辑 | 对选定的字段进行编辑或直接双击单元格进行编辑。 |
| 删除 | 删除当前选中的字段。 |

### 步骤 3：设置分区规则

![步骤3](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/333/%E6%96%B0%E5%BB%BA%E8%A1%A8-%E6%AD%A5%E9%AA%A4%E4%B8%89.png)

当表中包含大量数据时，可以对表进行分区。表进行分区后，表中的数据会存放到多个表空间，每次查询数据时不会扫描整张表。

OceanBase 中 MySQL 模式支持六种分区方法： **key** 、 **Hash** 、 **Range** 、 **Range Columns** 、 **List** 和 **List Columns** 。根据所选的分区方法按其定义指定以下信息：

| 信息项 | 说明 |
| --- | --- |
| 分区方法 | 指定分区方法。     - Range 分区：基于属于一个给定连续区间的列值，将多行分配给分区。范围必须是有序的、连续的和不重叠的。     - List 分区：基于数据的枚举值进行分区。     - Hash 分区：基于给定的分区个数进行分区。对于分布规则不明显的数据，并没有明显的范围查找等特征，可以使用 Hash 分区，将数据分区列的值按照 Hash 算法打散到不同的分区上，将数据随机分布到各个分区。     - Key 分区：类似于按 Hash 分区，区别在于 Key 分区只支持计算一列或多列，且 MySQL 服务器提供其自身的哈希函数。必须有一列或多列包含整数值。 |
| 字段 | 选择作为分区键的字段。 |
| 表达式 | 根据表达式的返回值进行分区。 |
| 分区 | 根据所选的 **分区方法**，可能需要指定 **分区名称** 、 **分区数量** 、 **区间上限值** 或 **值枚举** 等信息。   **说明**    - 选择 **Range 分区**方法时，如果表中包含大量数据可以在 **区间上限值** 中填入 MAXVALUE，表示区间不设置上限值。    - 可添加多个分区，并拖动已选字段进行排序。 |

### 步骤 4：设置索引

当表中包含大量数据，可以使用索引更快速的查询数据。索引是表中对某一列或多个列的值进行预排序的数据结构。通过使用索引，可以直接定位到符合条件的记录。

如下图所示，需指定以下信息：

![步骤4](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/333/%E6%96%B0%E5%BB%BA%E8%A1%A8-%E6%AD%A5%E9%AA%A4%E5%9B%9B.png)

| 信息项 | 说明 |
| --- | --- |
| 索引名 | 为该索引指定的名称。 |
| 索引范围 | 默认值为 **GLOBAL** （全局索引），仅在配置分区后方可指定索引范围是否为 **LOCAL** （局部索引）。 |
| 索引类型 | 索引类型目前只支持 BTree。 |
| 可选字段 | 选择索引所在的列，需注意索引列的顺序。 |
| 唯一 | 是否为唯一索引，即通过索引的方式保证唯一性约束。 |

设置索引页面同时提供三个功能键：

| 功能项 | 说明 |
| --- | --- |
| +新建 | 添加一个新索引。 |
| 编辑 | 对选定的索引进行编辑或直接双击单元格进行编辑。 |
| 删除 | 删除当前选中的索引。 |

### 步骤 5：设置约束

约束用于规定表中的数据规则。如果存在违反约束的数据行为，该行为会被约束终止。

![步骤5](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/333/%E6%96%B0%E5%BB%BA%E8%A1%A8-%E6%AD%A5%E9%AA%A4%E4%BA%94.png)

ODC 中支持设置的表级约束包括以下 4 种：

- **主键约束** ：定义一个主键来唯一标识表中的每一行数据。主键约束可为一个字段或是一组字段，一张表中只能设置一个主键约束，且设置完成后不支持编辑。
 - **唯一约束** ：保证在一个字段或者一组字段里的数据在表中是唯一的，一张表中可设置多个唯一约束。
 - **外键约束** ：在两个表的数据之间建立连接（可为一列或多列），旨在保持关联表之间数据的一致性、完整性。设置完成后不支持新增和编辑。

根据所选的约束方法按页面上的要求指定所需信息：

| 信息项 | 说明 |
| --- | --- |
| 约束名称 | 指定约束的名称。 |
| 列信息 | 选择一个字段或者一组字段作为约束。 |
| 关联数据库（MySQL 模式下） | 使用 **外键约束** 时需指定关联表（父表）所在的数据库。 |
| 关联表 | 使用 **外键约束** 时需指定关联表（父表）。 |
| 关联字段 | 使用 **外键约束** 时需指定关联字段（父表）。 |
| 删除 | 指定删除关联表（父表）中的数据时，当前表（子表）对应的动作。 可指定 **CASCADE** 、 **NO ACTION**、**RESTRICT** 和 **SET NULL** 等四种对应的动作。   **注意**    OceanBase 暂不支持 **SET NULL** 动作。 |
| 更新 | 指定更新关联表（父表）中的数据时，当前表（子表）对应的动作。 可指定 **CASCADE** 、 **NO ACTION** 、 **RESTRICT** 和 **SET NULL** 等四种对应的动作。    **注意**    OceanBase 暂不支持 **SET NULL** 动作。 |

设置约束页面同时提供三个功能键：

| 功能项 | 说明 |
| --- | --- |
| +新建 | 添加一个新约束。 |
| 编辑 | 对选定的约束进行编辑或直接双击单元格进行编辑。 |
| 删除 | 删除当前选中的约束。 |

### 步骤 6：确认 SQL

![步骤6](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/333/%E6%96%B0%E5%BB%BA%E8%A1%A8-%E6%AD%A5%E9%AA%A4%E5%85%AD.png)

单击 **提交** 后，在 SQL 确认页面编辑语句。

用户可以在 SQL 创建确认页面编辑创建的语句。语法格式如下：

```sql
CREATE TABLE table_name (column_name column_type, column_name column_type,.......);

```

参数说明：

| 参数 | 说明 |
| --- | --- |
| CREATE TABLE | 用于创建给定名称的表，必须拥有表 CREATE 的权限。 |
| 表名称 | 创建表的名称，表名称必须符合标识符命名规则。 |
| 列名称 数据类型 | 指定数据表中每个列（字段）的名称和数据类型，如果创建多个列，需要用逗号隔开。 |

### 步骤 7：完成新建表

单击 **执行** ，完成新建表后，会在左侧导航栏的表列表中出现新建的 employee 表。

![步骤7.1](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/333/%E6%96%B0%E5%BB%BA%E8%A1%A8-%E6%AD%A5%E9%AA%A4%E4%B8%83-1.png)

> **说明**
>  在左侧导航栏中，右键鼠标单击表列表中的表名，通过弹出的管理操作列表（包括 **查看** 、 **新建** 、 **单表导入** 、 **单表导出** 、 **下载** 、 **模拟数据** 、 **打开 SQL 窗口** 、 **复制** 、 **重命名** 、 **删除** 和 **刷新** ），可快速管理和操作目标对象。

支持使用 `SELECT` 语句查询新建的表数据。

语法格式：

```sql
SELECT
  column_name,
  column_name
FROM
  table_name [WHERE Clause] [LIMIT N] [ OFFSET M]

```

参数说明：

| 参数 | 说明 |
| --- | --- |
| SELECT | SELECT 命令可以读取一条或者多条记录。 |
| column_name | 指定查列名称。 使用星号（*）默认查询所有列信息。 |
| WHERE | 条件语句。 |
| LIMIT | 设定返回的记录数。 |
| OFFSET | 指定 SELECT 语句开始查询的数据偏移量。 默认情况下偏移量为 0。 |

示例：

```sql
SELECT `emp_no`, `birthdate`, `name`, `gender` FROM `employee`;

```

![步骤7.2](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/333/%E6%96%B0%E5%BB%BA%E8%A1%A8-%E6%AD%A5%E9%AA%A4%E4%B8%83.png)

## 相关信息

- [使用 ODC 创建视图](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000357164)
 - [使用 ODC 创建函数](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000357165)
 - [使用 ODC 创建存储过程](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000357166)

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