codecamp

OceanBase 新建表

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

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

设置基本信息

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

OceanBase新建表

设置列

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

信息项

说明

字段名称

指定字段(列)的名称。

数据类型

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

主键

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

非空

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

缺省值

该字段(列)的默认值。

字段注释

对该字段的说明。

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

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

OceanBase新建表

设置分区规则

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

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

信息项

说明

分区方法

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

字段

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

表达式

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

分区

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

OceanBase新建表

设置索引

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

信息项

说明

索引名

为改索引指定的名字。

索引范围

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

索引类型

索引类型目前只支持 BTree。

可选字段

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

唯一

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

设置索引页面还提供了三个功能键:
  • 新建:添加一下新索引。
  • 编辑:对选定的索引进行编辑或直接双击单元格进行编辑。
  • 删除:删除当前选中的索引。

OceanBase新建表

设置约束

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

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

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

信息项

说明

约束名称

指定约束的名称。

列信息

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

是否启用

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

可延迟状态

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

关联schema(Oracle模式下)

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

关联数据库(MySQL模式下)

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

关联表

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

关联字段

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

删除

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

更新

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

检查条件

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

OceanBase新建表

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

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


OceanBase 表对象概述
OceanBase 表列表
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }