OceanBase 新建表
在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 表 标签可以查看表列表。在表列表的右上角,单击 + 创建表,或是在上方导航栏中单击 新建 以创建您需要的对象。如下图所示,创建表有以下 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 种对应的动作。 |
检查条件 |
指定执行 检查约束 时校验数据的检查规则。 |
设置约束页面还提供了三个功能键:
- 新建:添加一下新约束。
- 编辑:对选定的约束进行编辑或直接双击单元格进行编辑。
- 删除:删除当前选中的约束。