云数据库OceanBase入门教程 OceanBase 新建表

2024-02-26 开发教程 云数据库OceanBase入门教程 匿名 2

在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 表 标签可以查看表列表。在表列表的右上角,单击 + 创建表,或是在上方导航栏中单击 新建 以创建您需要的对象。如下图所示,创建表有以下 6 个步骤:

  1. 设置基本信息。
  2. 设置列。
  3. 设置分区规则(可选)。
  4. 设置索引(可选)。
  5. 设置约束(可选)。
  6. 单击 提交 按钮,等待表生成。

设置基本信息

指定 表名称 和表的 描述(可选)。在 MySQL 模式下还需要指定 默认字符集 和 默认排序规则。

设置列

设置列是创建表的第二步,如下图所示,添加一列时您需要指定以下信息:

信息项

说明

字段名称

指定字段(列)的名称。

数据类型

指定字段(列)的数据类型。

主键

是否指定该字段(列)为主键。

非空

是否限制该字段(列)的值不能为空。

缺省值

该字段(列)的默认值。

字段注释

对该字段的说明。

设置列页面还提供了三个功能键:

  • 新建:添加一下新字段。
  • 编辑:对选定的字段进行编辑或直接双击单元格进行编辑。
  • 删除:删除当前选中的字段。

设置分区规则

设置分区规则是创建表的第三步。OceanBase 中 MySQL 模式支持六种分区方法:key、Hash、Range、Range_colums、List 和 List_columns。Oracle 模式支持三种分区方法:List、Range 和 Hash。您也可以选择 None 以省略分区设置。

由于在 MySQL 模式和 Oracle 模式下分区的定义不同,所以以下信息在不同模式下的意义略有不同,请根据您选择的分区方法按其定义指定以下信息:

信息项

说明

分区方法

指定分区方法。MySQL 模式和 Oracle 模式下支持的分区方法不同。

字段

选择的字段将成为分区键。

表达式

根据表达式的返回值进行分区(Oracle 模式不支持分区表达式)。

分区

根据您选择的 分区方法,您可能需要指定 分区名称、分区数量、区间上限值 或 值枚举 等信息。您可以添加多个分区,并拖动它们进行排序。

设置索引

设置索引是创建表的第四步,如下图所示,您需要指定以下信息:

信息项

说明

索引名

为改索引指定的名字。

索引范围

默认值是 GLOBAL(全局索引),只有设置了分区的表才可以指定索引范围是否为 LOCAL(局部索引)。

索引类型

索引类型目前只支持 BTree。

可选字段

在哪些列上建索引,要注意索引列的顺序。

唯一

是否唯一索引,即通过索引的方式保证唯一性约束。

设置索引页面还提供了三个功能键:

  • 新建:添加一下新索引。
  • 编辑:对选定的索引进行编辑或直接双击单元格进行编辑。
  • 删除:删除当前选中的索引。

设置约束

设置约束是创建表的第五步,ODC 中支持设置的表级约束有以下 4 种:

  • 主键约束:定义一个主键来唯一标识表中的每一行数据。主键约束可以是一个字段或是一组字段,一张表中只能设置一个主键约束,且设置完成后不支持编辑。
  • 唯一约束:保证在一个字段或者一组字段里的数据在表中是唯一的,一张表中可以设置多个唯一约束。
  • 外键约束:在两个表的数据之间建立连接,它可以是一列或者多列,主要作用是保持关联表之间数据的一致性、完整性。设置完成后不支持新增和编辑。
  • 检查约束:在编辑数据库数据时,按照设置的检查规则进行校验,校验通过才允许数据修改操作。检查约束 仅在 Oracle 模式下支持。

由于 OceanBase 数据库中 MySQL 模式和 Oracle 模式支持的约束不同,而不同约束所需的信息也略有不同,所以请根据您选择的约束方法按页面上的要求指定所需信息:

信息项

说明

约束名称

指定约束的名称。

列信息

选择一个字段或是一组字段作为约束。

是否启用

指定创建的约束是否生效。有些情况下,您可能需要约束暂不生效,例如导入大量数据时,通过禁用约束可提高效率。

可延迟状态

支持设置三种延迟状态 立即验证、不可延迟 和 延迟验证。

关联schema(Oracle模式下)

使用 外键约束 时需指定关联表(父表)所在的 Schema。

关联数据库(MySQL模式下)

使用 外键约束 时需指定关联表(父表)所在的数据库。

关联表

使用 外键约束 时需指定关联表(父表)。

关联字段

使用 外键约束 时需指定关联表(父表)。

删除

指定当关联表(父表)中的数据被删除时,当前表(子表)对应的动作。可以指定 CASCADE、NOACTION、RESTRICT 和 SETNULL 等 4 种对应的动作。

更新

指定当关联表(父表)中的数据被更新时,当前表(子表)对应的动作。可以指定 CASCADE、NOACTION、RESTRICT 和 SETNULL 等 4 种对应的动作。

检查条件

指定执行 检查约束 时校验数据的检查规则。

设置约束页面还提供了三个功能键:

  • 新建:添加一下新约束。
  • 编辑:对选定的约束进行编辑或直接双击单元格进行编辑。
  • 删除:删除当前选中的约束。