全部产品
表格存储

创建表

更新时间:2017-07-18 09:50:16   分享:   

表是关系型数据库和表格存储中的基本数据结构。关系型数据库创建表时需要定义完整的数据结构。相比之下,表格存储的数据表只需要定义主键信息。

SQL

使用CREATE TABLE语句创建表,如下所示:

  1. CREATE TABLE UserHistory (
  2. user_id VARCHAR(20) NOT NULL,
  3. time_stamp INT NOT NULL,
  4. item_id VARCHAR(50),
  5. behavior_type VARCHAR(10),
  6. behavior_amount DOUBLE,
  7. behavior_count INT,
  8. content VARCHAR(100),
  9. PRIMARY KEY(user_id, time_stamp)
  10. );

此表的主键包含 user_id 和 time_stamp。在创建数据表时,必须严格定义所有主键列和属性列,如有需要,可使用ALTER TABLE语句更改这些定义。

表格存储

使用表格存储创建数据表并指定如下参数,如下所示:

  1. public static final String TABLE_NAME = "UserHistory";
  2. TableMeta tableMeta = new TableMeta(TABLE_NAME);
  3. tableMeta.addPrimaryKeyColumn(new PrimaryKeySchema("user_id", PrimaryKeyType.STRING));
  4. tableMeta.addPrimaryKeyColumn(new PrimaryKeySchema("time_stamp", PrimaryKeyType.INTEGER));
  5. // 数据的过期时间, 单位秒, -1代表永不过期. 假如设置过期时间为一年, 即为 365 * 24 * 3600
  6. int timeToLive = -1;
  7. // 保存的最大版本数, 设置为3即代表每列上最多保存3个最新的版本
  8. int maxVersions = 3;
  9. TableOptions tableOptions = new TableOptions(timeToLive, maxVersions);
  10. CreateTableRequest request = new CreateTableRequest(tableMeta, tableOptions);
  11. // 设置读写预留值,若不设置则读写预留值均默认为0
  12. request.setReservedThroughput(new ReservedThroughput(new CapacityUnit(1, 1)));
  13. client.createTable(request);

此表的主键包含 user_id 和 time_stamp,需要提供的参数主要有:

参数 说明
TABLE_NAME 表的名称。
PrimaryKeySchema 主键的名称及类型。
timeToLive 数据表的数据过期时间。
maxVersion 数据表属性列的最大版本数。
ReservedThroughtput 数据表的预留读写吞吐量
注意:容量型实例不支持预留吞吐量的设置。
本文导读目录
本文导读目录
以上内容是否对您有帮助?