创建数据表后,您可以使用表、查询表信息、列出表名称、更新表以及删除表。
说明 关于宽表模型的更多信息,请参见宽表模型。
创建表
创建一张数据表,同时指定数据表的主键、数据生命周期(TimeToLive)等。您也可以通过导入JSON格式的配置文件来创建数据表。
命令格式
create -t tableName --pk '[{"c":"<primaryKeyName>", "t":"<primaryKeyType>"}, {"c":"<primaryKeyName>", "t":"<primaryKeyType>", "opt":"<options>"}]'--ttl <timeToLive> --version <maxVersion>
配置项说明请参见下表。
配置项 | 是否必填 | 示例值 | 说明 |
---|---|---|---|
-m,--mode | 否 | widecolumn | 创建的表类型。取值范围如下:
|
-t,--table | 是 | mytable | 数据表名称。 |
-p,--pk | 是 | [{"c":"uid","t":"string"}, {"c":"pid","t":"integer"}] | 数据表主键列,以JSON格式的数组表示。包含如下字段:
注意 创建数据表时,属性列不需要定义。表格存储每行的属性列都可以不同,属性列的列名在写入数据时指定。关于写入数据到数据表的具体操作,请参见数据操作。
单表最多可设置4个主键,第一个主键默认为分区键。主键的配置及顺序设置后不能修改。 |
--ttl | 否 | 864000 | 数据表中数据的保存时间。当数据的保存时间超过设置的数据生命周期时,系统会自动清理超过数据生命周期的数据。单位为秒。
如果不设置此项,则默认值为-1,表示数据永不过期。 取值必须大于等于86400秒(一天)或者必须-1(数据永不过期)。 |
--version | 否 | 1 | 数据表中的属性列能够保留数据的最大版本个数。当属性列数据的版本个数超过设置的最大版本数时,系统会自动删除较早版本的数据。
如果不设置此项,则默认值为1,表示只保留最新版本的数据。 取值必须为非0整数。 |
--read_cu | 否 | 0 | 为数据表配置预留读吞吐量或预留写吞吐量。默认值均为0,即完全按量计费。单位为CU。
容量型实例中的数据表的预留读/写吞吐量只能设置为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