You need to enable JavaScript to run this app.
导航

表管理

最近更新时间2024.03.20 22:06:40

首次发布时间2024.02.23 10:01:25

本文介绍如何在数据库工作台 DBW 的数据交互台内可视化的创建、删除和编辑表等操作,实现表的全生命周期管理。

前提条件

已创建实例、账号、数据库和模式。详细操作,请参见创建实例创建账号创建数据库创建模式

说明

您创建的账号需要有对应数据库的查询、修改等对应权限。

注意事项

操作注意事项

创建表

  • 不支持在系统库上创建表。

  • 创建表时需按照 PG 的语法限制操作。

查询表

  • 不支持在系统库上查询表。

  • 暂不支持对查询结果进行编辑操作。

编辑表结构

  • 不支持在系统库上编辑表。

  • 由于 DDL 执行有时间限制,当表过大时,可能会执行失败,因此建议您不要在数据库工作台 DBW 做大表的结构或索引调整。

  • 当列存在索引或外键设置时,无法对列进行修改。如需调整,请先删除索引或外键,再添加索引或外键。

删除表表被删除后无法恢复。同时,在删除表的过程中由于数据库需要处理较多文件,可能会阻塞其他事务的处理,导致数据库性能下降,需谨慎操作。

创建表

  1. 登录云数据库 PostgreSQL 版工作台

  2. 数据交互台页面的可视化操作区域,选择目标模式 > > ...

  3. 单击创建表

  4. 创建表@{数据库名称} 页签中,配置以下参数信息。

    1. 配置基本信息,如下表所示。

      参数说明

      表名

      自定义表的名称。表名的规则如下:

      • 数据库名称在数据库内唯一。

      • 长度为 1~64 个字符,且不能为空。

      • 以字母开头,以字母或数字结尾。

      • 由小写字母、数字、下划线(_)或中划线(-)组成。

      模式从下拉列表中选择目标模式。
      所有者(可选)从下拉列表中选择表的所有者。
      表空间(可选)从下拉列表中选择表的所属空间,当前支持 pg_defaultpg_global
      充填率(可选)设置表的充填率。
      备注(可选)填写表的备注信息。备注信息建议与您的业务相关。
    2. 列信息页签,单击新增列配置列信息,如下表所示。

      参数说明

      列名

      自定义列的名称。命名规则:

      • 列的名称在数据库内唯一。

      • 长度在 1~64 个字符内,且不能为空。

      • 以字母开头,以字母或数字结尾。

      • 由小写字母、数字、下划线(_)或中划线(-)组成。

      类型

      在下拉列表中选择列的属性,支持以下类型:

      • 字符串,包括 charvarchartextcitextnamebyteatsqueryoid 类型。

      • 数字,包活 smallint、integer、decimalrealdouble precisionsmallserialserialbigserialint2vectorgeometrygeographymoneyint4rangeint8rangenumrangetsrangedatarangebitdatetimetimestampintervalbooleanenumpointlinelsegboxpathpolygoncircleinetcidrxmlmacaddrjsonjsonbuuidregprocregprocedureregoperregoperatorregclassregtyperegconfigregdictionary 类型。

      数组(可选)按需设置是否勾选数组。数组可以容纳同一种数据类型的多个值,就像一个列表或集合。如果您想在一行中存储类似的多个条目,可以勾选数组。
      可空(可选)按需设置是否勾选可空。表示是否可以在该列中插入 NULL 值。当勾选可空时,不支持设置主键。
      主键(可选)按需设置是否勾选主键。当选择设置主键时,不支持设置可空。
      默认值(可选)设置默认值。
      精度(可选)设置精度。
      小数点(可选)设置列的小数点位置。
      校验规则(可选)从下拉列表中选择列的校验规则。
      备注(可选)填写列的备注信息。备注信息建议与您的业务相关。

      说明

      当需要删除某一列时,您可以选择目标列,单击删除列

    3. 索引信息页签,单击新增索引配置索引信息,如下表所示。

      参数说明

      索引名

      自定义索引的名称。命名规则:

      • 索引名称在表内唯一。

      • 长度在 1~64 个字符内,且不能为空。

      • 以字母开头,以字母或数字结尾。

      • 由小写字母、数字、下划线(_)或中划线(-)组成。

      包含列在下拉列框中选择需包含的列,支持多选。

      索引类型

      在下拉列表中选择索引类型,支持以下类型:

      • index:该索引类型表示一个性能优化工具,通过在一个表的一个或多个列上创建索引,您可以更快的检索到数据。

      • unique:该索引类型表示一种约束,他可以保证在特定的列或组合中的所有值都是唯一的。该索引有助于数据的一致性和完整性。

      索引方式

      在下拉列表中选择索引方式,当前支持以下选择

      • btree:表示索引以 B + Tree 的结构存储数据。

      • gist:表示高度灵活的索引,可用于各种不同的索引风格。

      • Hash:表示该索引可以通过哈希函数将数据值转换为唯一的哈希码。这种索引只能用于等值查询。

      • spgist:表示该索引是一种可以使用任何非叠加分区方法的索引类型,可以处理点数据并做到有效的范围查找。

      是否并发按需勾选是否并发。勾选后在创建索引的过程中允许正常的读写操作,降低阻塞时间。
      备注(可选)填写索引的备注信息。备注信息建议与您的业务相关。

      说明

      当需要删除某个索引时,您可以选择目标索引,单击删除索引

    4. 外键页签,单击新增外键配置外键信息,如下表所示。

      参数说明
      外键名自定义外键名。
      定义单击编辑,在定义对话框,单击添加一行,设置定义的包含列参考表参考列,单击确定
      可延迟的(可选)按需勾选是否可延迟的。勾选后同时设置了延期,则外键约束的检查会被推迟到事务提交时。
      延期(可选)按需勾选是否延期。勾选后则表示外键约束可以持续到事务末尾才被检查。需同时勾选延期和可延迟的外键约束检查持续到事务末尾被检查才会生效。
      完全匹配(可选)按需勾选是否完全匹配。勾选后表示在应用外键约束时,子表的外键列与主表的主键列的值应完全一致。只有当子表的外键列中的值在主表的主键列中存在时,这一行才被允许插入或更新到子表。
      不验证(可选)按需勾选是否不验证。勾选后表示在创建或修改外键约束时约束不被立即检查。该场景下,可能存在违反新约束的行,除非额外进行一次验证。

      删除时

      (可选)从下拉列表中选择当引用的主要数据(来自主表)被删除时子表中外键数据的处理方式,取值如下:

      • NO ACTION:(默认策略)如果主表中的行被删除,且在子表中存在依赖于该行的外键,那么删除操作会被阻止。

      • RESTRICT:表示如果存在未完成的事务,则会立即阻止删除。

      • CASCADE:表示如果主表中的行被删除,那么在子表中依赖于该行的所有外键也将被删除。通常用于维护数据库的引用完整性,特别是在主子表关系中。

      • SET NULL:表示如果主表中的行被删除,那么在子表中依赖于该行的外键都将被设置为 NULL。这是一种非严格的 ON DELETE 策略,允许删除主表的行而不删除子表的行,只是将子表的外键设置为 NULL。

      • SET DEFAULT:表示如果主表中的行被删除,那么在子表中依赖于该行的外键都将被设置为其列定义中的默认值。这是一种灵活的 ON DELETE 策略,该策略使用列定义的默认值,而不是直接删除子表中的行或将其设置为 NULL。在使用此策略时,需要确保有设置默认值。

      更新时

      (可选)从下拉列表中选择当引用的主要数据(来自主表)被更新时子表中外键数据的处理方式,取值如下:

      • NO ACTION:(默认策略)如果主表中被引用的数据被尝试更新,且存在子表中的外键与之关联,那么更新操作会被阻止。

      • RESTRICT:表示如果存在未完成的事务,则会立即阻止更新。

      • CASCADE:如果被引用的数据被更新(例如主键值改变),那么所有引用这条数据的外键数据也会被自动更新为新的值。

      • SET NULL:如果被引用的数据被更新,那么所有引用该数据的外键将被设置为 NULL。 使用这种方式需要保证外键列允许NULL值。

      • SET DEFAULT:如果引用的数据被更新,那么所有引用这条数据的外键将被设置为其列的默认值。使用此方式需要保证外键列有默认值设定。

      备注(可选)填写外键的备注信息。备注信息建议与您的业务相关。

      说明

      当需要删除某个外键时,您可以选择目标外键,单击删除外键

    5. 排他性约束页签,单击新增排他约束,如下表所示。

      参数说明
      名称自定义排他性约束名称。
      定义单击定义,在定义对话框单击添加一行,设置字段操作符类排序空值顺序操作符,单击确定。您也可以单击删除,删掉已添加的定义。
      表空间(可选)从下拉列表中选择表空间。
      访问方式(可选)从下拉列表中选择访问方式,当前支持选择 btreegisthashspgist
      充填率(可选)设置排他性约束的充填率。
      可延迟的(可选)按需勾选是否可延迟的。
      延期(可选)按需勾选是否延期。
      备注(可选)填写排他性约束的备注信息。备注信息建议与您的业务相关。

      说明

      当需要删除某个排他性约束时,您可以勾选目标排他性约束,单击删除排他性约束

    6. 唯一约束页签,单击新增唯一约束,如下表所示。

      参数说明
      名称自定义唯一约束的名称。
      字段从下拉列表中选择字段。
      表空间(可选)从下拉列表中选择表空间。
      充填率(可选)设置唯一约束的充填率。
      可延迟的(可选)按需勾选是否可延迟的。
      延期(可选)按需勾选是否延期。
      备注(可选)填写唯一约束的备注信息。备注信息建议与您的业务相关。

      说明

      当需要删除某个唯一约束时,您可以勾选目标唯一约束,单击删除唯一约束

    7. 检查约束页签,单击新增检查,如下表所示。

      参数说明
      名称自定义检查约束的名称。
      检查检查是布尔表达式,定义了列或列的组合需要满足的条件。
      非继承(可选)按需勾选是否非继承。当勾选后该检查约束只能应用于当前表,不会应用到任何继承自这个表的子表上。
      不验证(可选)按需勾选是否不验证。当勾选后,PostgreSQL 将不会检查表中已经存在的所有行是否满足新的检查约束。这只会将约束应用于以后插入或更新的行。
      备注(可选)填写检查约束的备注信息。备注信息建议与您的业务相关。

      说明

      当需要删除某个检查约束时,您可以勾选目标检查约束,单击删除检查约束

  5. 单击提交

  6. SQL 预览对话框,确认创建表的语句。

  7. 单击执行

编辑表结构

  1. 登录云数据库 PostgreSQL 版工作台

  2. 数据交互台页面的可视化操作区域,选择目标模式 > 表 > {表名}

  3. 将鼠标指向目标表后,选择 ... > 编辑表结构

  4. 编辑表结构_{表名@数据库名称} 命令执行区域,编辑表的基本信息列信息索引外键排他性约束唯一约束检查约束。详细信息,请参见创建表

  5. 单击提交

  6. 执行 SQL 对话框中,确认变更语句。

  7. 单击执行

查询表

  1. 登录云数据库 PostgreSQL 版工作台

  2. 数据交互台页面的可视化操作区域,选择目标模式 > 表 > {表名}

  3. 将鼠标指向目标表后,选择 ... > 查询表

  4. SQL 查询页签的命令执行区域,单击执行(F8) 或按 F8 键。

    执行结果区域,您可以查看到表的查询结果。

删除表

注意

表被删除后无法恢复。同时,在删除表的过程中由于数据库需要处理较多文件,可能会阻塞其他事务的处理,导致数据库性能下降,需谨慎操作。

  1. 登录登录云数据库 PostgreSQL 版工作台

  2. 数据交互台页面的可视化操作区域,选择目标模式 > > {表名}

  3. 将鼠标指向目标表后,选择 .... > 删除表

  4. 删除表对话框中的删除确认输入框内再次输入表名称,单击确定