全部产品
Search
文档中心

表格存储:数据表操作

更新时间:Jun 04, 2026

通过命令行工具创建、使用、查看、更新和删除数据表。

前提条件

  • 已完成命令行工具的安装和访问凭证配置。具体操作,请参见命令行工具

  • 已创建实例。具体操作,请参见实例操作

创建表

创建数据表时需指定主键列、数据生命周期等配置。也支持通过 JSON 配置文件创建。

create -t tableName --pk '[{"c":"col1","t":"string"},{"c":"col2","t":"integer"}]' [--ttl seconds] [--version max]

参数

必填

说明

-m, --model

表类型,默认 widecolumn(数据表)。如需创建时序表,请参见时序模型

-t, --table

数据表名称。

-k, --pk

主键列定义,JSON 数组格式。每个元素包含:

  • c(必选):主键列名称。

  • t(必选):主键列类型,取值 stringintegerbinary

  • opt(可选):默认 none。设为 auto 表示该主键列为自增列。关于主键自增列,请参见主键列自增

说明

创建数据表时,属性列不需要定义。表格存储每行的属性列都可以不同,属性列的列名在写入数据时指定。

单表最多 4 个主键列,第一个主键列默认为分区键。主键列配置后不可修改。

--ttl

数据生命周期,单位为秒。默认 -1(永不过期)。取值必须大于等于 86400(一天)或等于 -1。

--version

最大版本数,默认 1。取值必须为非 0 的整数。

重要

当前表格存储未限制最大版本数,但出于性能与易用性考虑,建议控制在 500 以内。

--read_cu

预留读/写吞吐量,单位为 CU,默认 0(按量计费)。

说明
  • 仅高性能型实例中的数据表支持此配置。

  • 当预留读/写吞吐量不为 0 时,无论是否有读/写请求,均会产生费用。

--write_cu

-d, --defined

预定义列,JSON 数组格式。使用二级索引时需指定。每个元素包含:

  • c(必选):预定义列名称。

  • t(必选):预定义列类型,取值 stringintegerbinarydoublebool

说明

单个数据表默认最多支持 32 个预定义列。

--stream_enable

是否开启 Stream,默认 false

--stream_expire

Stream 数据过期时间,单位为小时,默认 24

-i, --input

通过 JSON 配置文件创建表,指定文件路径。

创建基本数据表:

create -t mytable --pk '[{"c":"uid","t":"string"},{"c":"pid","t":"integer"}]'

创建带自增列和 TTL 的数据表:

create -t mytable --pk '[{"c":"uid","t":"string"},{"c":"pid","t":"integer","opt":"auto"}]' --ttl 864000 --version 1

创建带预定义列的数据表(用于二级索引):

create -t mytable --pk '[{"c":"uid","t":"string"},{"c":"pid","t":"integer"}]' --defined '[{"c":"name","t":"string"},{"c":"age","t":"integer"}]'

通过配置文件创建数据表:

Windows

create -i D:\\localpath\\filename.json

Linux 和 macOS

create -i /localpath/filename.json

配置文件示例:

{
    "Name": "mytable",
    "Meta": {
        "Pk": [
            {"C": "uid", "T": "string", "Opt": "none"},
            {"C": "pid", "T": "integer", "Opt": "none"}
        ]
    },
    "Option": {
        "TTL": 864000,
        "Version": 3
    },
    "CU": {
        "Read": 0,
        "Write": 0
    }
}

使用表

选择要操作的数据表,后续数据操作将在该表上执行。

use --wc -t tableName

参数

必填

说明

--wc

使用宽表模型的数据表。

-t, --table

表名称。

示例:

use --wc -t mytable

列出表名称

列出当前实例下的表名称,支持按表类型过滤。

list [--wc | --all] [--detail]

参数

必填

说明

-w, --wc

只列出数据表。

-a, --all

列出所有类型的表。

-d, --detail

显示表的详细信息。

示例:

list --wc

查看表信息

查看数据表或索引表的详细配置信息。

desc [-t tableName] [-f json|table] [-o outputFile]

参数

必填

说明

-t, --table

数据表或索引表名称。省略时查看当前 use 的表。

-f, --print_format

输出格式,取值 json(默认)或 table

-o, --output

将结果保存到本地文件。

示例:

desc -t mytable

更新表

更新数据表的配置,例如数据生命周期、最大版本数、预留吞吐量等。

alter -t tableName [--ttl seconds] [--version max] [--read_cu n] [--write_cu n]

参数

必填

说明

-t, --table

表名称。如果已通过 use 选择了表,可省略。

--ttl

数据生命周期,单位为秒。取值必须大于等于 86400(一天)或等于 -1(永不过期)。

--version

最大版本数。取值必须为非 0 的整数。

--read_cu

预留读/写吞吐量,单位为 CU。仅高性能型实例支持。

--write_cu

--stream_enable

是否开启 Stream。

--stream_expire

Stream 数据过期时间,单位为小时。

--disallow_update

是否禁止更新操作。

修改 TTL 为 1 天,最大版本数为 1:

alter -t mytable --ttl 86400 --version 1

删除表

删除指定的数据表。

drop -t tableName [-y]

参数

必填

说明

-t, --table

表名称。

-y, --yes

跳过确认提示直接删除。

示例:

drop -t mytable -y