全部产品
Search
文档中心

表格存储:数据表操作

更新时间:Mar 06, 2025

数据表主要用于数据的存储与查询。创建数据表后,您可以根据实际情况管理数据表,例如获取实例中的所有表名称、查询数据表的配置信息、更新数据表的配置信息等。

注意事项

  • 单个实例最多可以创建64张数据表。

  • 创建成功的数据表不能立即提供读写服务。通常在建表成功后一分钟左右,便可对新创建的表进行读写操作。

  • 主键列自增和局部事务功能无法同时使用。如果在创建数据表时配置了主键列自增,即使开启局部事务也不会生效。

功能介绍

  • 创建数据表

    在创建数据表时,您需要指定数据表的结构信息和配置信息。

    • 数据表的结构信息,包括数据表名称、主键定义以及预定义列的配置。

    • 数据表的配置信息,您可以根据实际情况设置。配置项说明请参见下表。

      配置项

      描述

      主键列自增

      创建数据表时,您可以将非分区键的主键列设置为自增列。在数据写入过程中,无需为自增列指定具体值,表格存储将自动生成自增列的值。

      数据版本和生命周期

      您可以使用数据版本以及数据生命周期(TTL)功能,有效地管理数据,从而减少数据存储空间并降低存储成本。

      是否允许更新

      默认允许通过UpdateRow更新写入数据到数据表,您也可以在创建数据表后修改表的是否允许更新状态。

      重要

      如果后续要使用多元索引生命周期,则必须禁止通过UpdateRow更新写入数据。

      预留读/写吞吐量

      对于高性能实例,您可以根据需要为数据表配置预留读/写吞吐量。

      二级索引

      表格存储提供了本地二级索引和全局二级索引,以满足您在不同读取一致性要求下的查询场景。您可以在创建数据表时,创建一个或多个二级索引。

      说明

      使用二级索引时,需要在创建数据表时预先定义一些非主键列以及其类型,作为索引表的索引列或者属性列。您也可以在创建数据表后新增或者删除预定义列。

      数据加密

      表格存储提供了数据落盘加密功能,以保证表数据安全。您可以在创建数据表时配置数据表加密。

      局部事务

      为数据表开启局部事务后,使用局部事务功能,您可以创建数据范围在一个分区键值内的局部事务并对局部事务中的数据进行读写操作。

      重要
      • 仅Java SDK 5.11.0及以上版本支持为数据表开启局部事务。

      • 如果创建数据表时未开启局部事务功能,创建数据表后需要使用该功能,请提交工单进行申请。

  • 更新表配置

    修改指定的数据表配置信息(例如数据生命周期、最大版本数、有效版本偏差等)和Stream配置。此外,还可以为高性能型实例中数据表调整预留读写吞吐量。

  • 列出表名称

    获取当前实例下已创建的所有数据表名称。

  • 查询表描述信息

    查询指定的数据表结构、预留读/写吞吐量详情等信息。

  • 删除数据表

    删除指定的数据表。

创建数据表

通过表格存储控制台执行以下操作创建数据表。

  1. 进入实例管理页面。

    1. 登录表格存储控制台

    2. 在页面上方,选择资源组和地域。

    3. 概览页面,单击实例别名或在实例操作列单击实例管理

  2. 实例详情页签,单击创建数据表

  3. 创建数据表对话框,按照下表说明配置相关参数

    参数

    描述

    数据表名称

    数据表名称,用于在实例中唯一标识一张数据表。

    数据表的命名规则为由大小写字母、数字或下划线(_)组成,且只能以字母或下划线(_)开头,长度在1到255个字节之间。

    表主键

    表中的一列或多列,用于唯一标识表中的一条记录。

    输入表主键名称并选择数据类型,单击添加表主键,可加入新的主键。

    单表最多可设置4个主键,第一个主键默认为分区键。主键的配置及顺序设置后不能修改。

    重要
    • 表格存储支持将主键列设置为自增列,每张表只能设置一个主键列为自增列,且分区键不能设置为自增列。

    • 主键列设置为自增列后,在写入一行数据时,该主键列无需填值,表格存储会自动生成该主键列的值。自动生成的主键列的值在分区键内严格递增且唯一。

    • 表主键名称的命名规则为由大小写字母、数字或下划线(_)组成,且只能以字母或下划线(_)开头,长度在1个~255个字节之间。

    • 主键的数据类型可选为字符串整型二进制

    是否允许更新

    是否允许通过UpdateRow更新写入数据。默认值为,表示允许通过UpdateRow更新写入数据。

    当要使用多元索引生命周期功能时,您必须将此参数设置为,即不允许通过UpdateRow更新写入数据。关于多元索引生命周期的更多信息,请参见生命周期管理

    是否加密

    是否开启数据落盘加密。系统默认未开启数据落盘加密功能。打开是否加密开关,即可开启数据落盘加密功能。

    重要

    数据落盘加密功能开启后不支持关闭,请谨慎操作。

    加密类型

    数据的加密类型。只有打开是否加密开关时,需要配置该选项。取值范围如下:

    • kms服务主密钥表格存储会自动创建KMS服务主密钥用于数据落盘加解密。

    • BYOK自定义密钥表格存储会基于您自定义的密钥进行数据落盘加解密。

      重要

      使用BYOK自定义密钥的加密类型前,您需要通过KMS控制台创建软件密钥,然后创建自定义角色并配置权限。具体操作,请参见基于BYOK自定义密钥加密

    密钥ID

    密钥的ID。只有当加密类型选择BYOK自定义密钥时,需要配置该选项。

    ARN

    角色ARN。只有当加密类型选择BYOK自定义密钥时,需要配置该选项。

  4. (可选)在创建数据表对话框,进行高级配置或者创建二级索引。

    当需要对数据表设置数据生命周期等高级配置或者创建二级索引时,请执行此步骤。

    配置高级参数

    如果需要管理表中数据的保存时长,您可以指定数据生命周期;如果需要相同主键的多个版本数据,您可以指定最大版本数。更多信息,请参见数据版本和生命周期

    对于按量模式下的高性能实例,如果要通过预留吞吐量节省成本,您可以指定数据表的预留读吞吐量或写吞吐量。更多信息,请参见预留读/写吞吐量

    1. 打开高级设置开关。

    2. 根据下表说明配置高级参数。

      参数

      描述

      数据生命周期

      数据表中数据的保存时间。当数据的保存时间超过设置的数据生命周期时,系统会自动清理超过数据生命周期的数据。单位为秒。

      取值:大于等于86400秒(一天)或-1(数据永不过期)。

      最大版本数

      数据表中的属性列能够保留数据的最大版本个数。当属性列数据的版本个数超过设置的最大版本数时,系统会自动删除较早版本的数据。

      取值必须为非0整数。

      数据有效版本偏差

      指定的数据版本号与系统当前时间偏差的允许最大值,单位为秒。有效版本偏差为正整数,可以大于1970-01-01 00:00:00 UTC时间到当前时间的秒数。

      只有当写入数据所有列的版本号与写入时时间的差值在数据有效版本偏差范围内,数据才能成功写入。

      属性列的有效版本范围为[max{数据写入时间-有效版本偏差,数据写入时间-数据生命周期},数据写入时间+有效版本偏差)

      预留读吞吐量

      容量型实例不支持该参数。

      为数据表预留读吞吐量或写吞吐量。取值范围为0~100000,且取值必须为整数。单位为CU。

      • 预留读吞吐量预留写吞吐量大于0时,表格存储会根据配置为数据表分配和预留相应资源,且数据表创建成功后,将会立即按照预留吞吐量开始计费。

      • 预留读吞吐量预留写吞吐量为0时,表格存储不会为数据表分配和预留相应资源。

      预留写吞吐量

    配置二级索引

    当某些应用需要使用不同属性作为查询条件来执行数据查询时,您可以通过将这些属性作为二级索引的主键列实现按照属性快速查询数据的需求。更多信息,请参见二级索引

    1. 打开创建二级索引开关。

    2. 单击添加预定义列,输入预定义列名称并选择数据类型。

      预定义列名称命名规则为由大小写字母、数字或下划线(_)组成,且只能以字母或下划线(_)开头,长度在1~255个字节。

      预定义列的数据类型可选为字符串整型二进制浮点数布尔值

    3. 单击添加二级索引,输入索引名称,选择索引主键,根据需要选择索引预定义列及索引类型。

      重要

      索引名不能与数据表名称相同,索引名和数据表名称均必须在实例中唯一。

      索引名称必须由大小写字母、数字或下划线(_)组成,且只能以字母或下划线(_)开头,长度在1个~255个字节之间。

      • 索引主键可以是数据表主键和预定义列,支持多选;索引预定义列只能从数据表的预定义列中选择,支持多选。但是选择的索引预定义列不能与主键列重复。

      • 索引类型支持选择为全局或者本地

        重要

        全局二级索引的第一列主键可根据需要选择任意主键列或者预定义列,本地二级索引的第一列主键必须和数据表的第一列主键相同。

        全局二级索引以异步方式将数据表中被索引的列和主键列的数据自动同步到索引表中,正常情况下同步延迟达到毫秒级别;本地二级索引以同步方式将数据表中被索引的列和主键列的数据自动同步到索引表中,当数据写入数据表后,即可从索引表中查询到数据。

  5. 单击确定

管理数据表

请根据实际需要执行相应操作管理数据表。

操作

说明

列出表名称

数据表列表页签,查看实例内的所有数据表名称。

更新表信息

  1. 数据表列表页签,单击数据表名称。

  2. 基本详情页签的基本信息区域,单击修改表属性

  3. 修改表属性对话框,根据需要修改数据生命周期、最大版本数、数据有效版本偏差、是否允许更新。

  4. 单击确定

查询表描述信息

  1. 数据表列表页签,单击数据表名称。

  2. 基本详情页签,查看表信息。

    基本信息区域,您可以查看表的名称、最大版本数、数据生命周期、数据有效版本偏差、是否允许更新等信息;在高级功能区域,您可以查看表主键列表、预定义列信息等。

管理预定义列

  • 添加预定义列

    1. 数据表列表页签,单击数据表名称。

    2. 基本详情页签的高级功能区域,单击添加预定义列

    3. 添加预定义列对话框,单击添加预定义列,然后填写预定义列名称并选择字段类型。

    4. 单击确定

  • 删除预定义列

    基本详情页签的高级功能区域,单击预定义列对应的image.png图标,然后在删除预定义列对话框中单击确定

删除数据表

  1. 数据表列表页签,单击数据表操作列的image.png图标,然后单击删除

  2. 删除数据表对话框,确认表信息正确,单击删除

开发集成

您可以使用以下命令行工具或SDK进行数据表操作。

功能

接口

调用方式

创建数据表

CreateTable

更新表配置

UpdateTable

列出表名称

ListTable

查询表描述信息

DescribeTable

删除数据表

DeleteTable

添加预定义列

AddDefinedColumn

通过SDK:JavaGo

删除预定义列

DeleteDefinedColumn

通过SDK:JavaGo