创建数据表后,您可以使用表、查询表信息、列出表名称、更新表以及删除表。

说明 关于宽表模型的更多信息,请参见宽表模型

创建表

创建一张数据表,同时指定数据表的主键、数据生命周期(TimeToLive)等。您也可以通过导入JSON格式的配置文件来创建数据表。

  • 命令格式
    create -t tableName --pk '[{"c":"<primaryKeyName>", "t":"<primaryKeyType>"}, {"c":"<primaryKeyName>", "t":"<primaryKeyType>", "opt":"<options>"}]'--ttl <timeToLive> --version <maxVersion> 

    配置项说明请参见下表。

    配置项 是否必填 示例值 说明
    -m,--mode widecolumn 创建的表类型。取值范围如下:
    • widecolumn(默认):数据表。
    • timeseries:时序表。
    -t,--table mytable 数据表名称。
    -p,--pk [{"c":"uid","t":"string"}, {"c":"pid","t":"integer"}] 数据表主键列,以JSON格式的数组表示。包含如下字段:
    • c(必选):主键列名称。
    • t(必选):主键列类型,取值范围为string、integer、binary。
    • opt(可选):可选配置,取值范围为none和auto,默认值为none。当取值为auto时,表示该主键列为自增列。

      关于主键自增列的更多信息,请参见主键列自增

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

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

    如果不设置此项,则默认值为-1,表示数据永不过期。

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

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

    如果不设置此项,则默认值为1,表示只保留最新版本的数据。

    取值必须为非0整数。

    --read_cu 0 为数据表配置预留读吞吐量或预留写吞吐量。默认值均为0,即完全按量计费。单位为CU。

    容量型实例中的数据表的预留读/写吞吐量只能设置为0,不允许预留。

    • 当预留读吞吐量或预留写吞吐量大于0时,表格存储会根据配置为数据表预留相应资源,且数据表创建成功后,将会立即按照预留吞吐量开始计费,超出预留的部分进行按量计费。
    • 当预留读吞吐量或预留写吞吐量设置为0时,表格存储不会为数据表预留相应资源。
    --write_cu 0
    -i,--input /tmp/create_table_meta.json 通过JSON格式的配置文件创建数据表。
    您也可以通过配置文件创建表,命令格式如下:
    • Windows平台
      create -i D:\\localpath\\filename.json
    • Linux和Mac平台
      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
        }
    }
  • 示例

    创建名称为mytable的数据表,该数据表有uid(string类型)和pid(integer类型)两个主键列,表中数据永不过期。

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

    创建名称为mytable的数据表,该数据表有uid(string类型)和pid(integer类型)两个主键列并设置第二主键列pid(integer类型)为自增列,表中数据永不过期。

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

    创建名称为mytable的数据表,该数据表有uid(string类型)和pid(integer类型)两个主键列,表中数据在864000秒(即10天)后过期且只保留最新版本。

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

使用表

选择需要进行操作的表,用于后续表操作或者数据操作。

  • 命令格式
    use --wc -t <tableName>

    配置项说明请参见下表,

    配置项 是否必填 示例值 说明
    --wc 不涉及 表示操作的表为数据表。
    -t,--table mytable 数据表名称。
  • 示例

    使用mytable数据表。

    use -t mytable

列出表名称

列出实例下的所有表名称、所有数据表名称或者所有时序表名称。

  • 列出与当前表类型相同的所有表名称
    list
  • 列出所有表名称
    list -a
  • 列出所有数据表名称
    list -w
  • 列出所有时序表名称
    list -t

配置项说明请参见下表。

配置项 是否必填 示例值 说明
-a,--all 不涉及 列出所有表名称。
-d,--detail 不涉及 列出表的详细信息。
-w,--wc 不涉及 列出所有数据表名称。
-t,--ts 不涉及 列出时序表名称。

更新表

更新数据表的数据生命周期、最大版本数等信息。

  • 命令格式
    alter -t <tableName> --ttl <timeToLive> --version <maxVersion> --read_cu <readCU> --write_cu <writeCU>
  • 示例

    修改mytable数据表的数据生命周期为86400秒(即1天),最大版本数为1,且预留读CU和预留写CU均为0。

    alter -t mytable --ttl 86400 --version 1 --read_cu 0 --write_cu 0

查看表信息

查看数据表的信息。您也可以将表信息保存到本地JSON格式的文件中。

  • 命令格式
    desc -t <tableName> -o /localpath/filename.json

    配置项说明请参见下表。

    配置项 是否必填 示例值 说明
    -t,--table mytable 数据表名称。
    -f,--print_format json 表信息的输出格式。取值范围为json(默认)和table。
    -o,--output /tmp/describe_table_meta.json 输出表信息到本地JSON格式的文件中。
  • 示例

    查看当前表的信息。

    desc
    查询当前表的信息并将表信息保存到本地文件describe_table_meta.json中。
    desc -o  /tmp/describe_table_meta.json

删除表

删除不需要的表。

  • 命令格式
    drop -t <tableName> -y

    配置项说明请参见下表。

    配置项 是否必填 示例值 说明
    --t,--table mytable 数据表名称。
    -y,--yes 不涉及 显示确认信息。命令中必须带有此配置项。
  • 示例

    删除mytable表。

    drop -t mytable -y