表操作
所有文档

          云数据库 TableStorage

          表操作

          创建表CreateTable

          描述

          在指定instance下创建一张表,表名限制字符个数1-255,满足正则:[a-zA-Z_][a-za-z0-9_]{0,254},以字母或下划线开头。表名不符合规范时会抛出BceClientException。

          请求参数

          参数 参数类型 说明
          tableName String 期望创建的表的名称,创建表时必须指定。
          tableOption TableOption 配置信息,创建表时必须指定。
          +tableVersion long 表版本号,创建表时必须为0,非0时会抛出BceClientException。
          +compressType CompressType(enum) 压缩方式,可取以下值:
          NONE:不压缩
          SNAPPY_ALL:使用snappy压缩
          DEFAULT:使用操作的默认值,不同操作中含义不同
          创建表时默认为NONE。
          +ttl int 数据过期时间,单位为秒,设为0表示永不过期,默认值为0。
          +storageType String 表存储类型,可取以下值:
          HighPerformance:使用SSD存储
          CommonPerformance:使用SATA存储
          创建表时若不指定则默认使用Instance的表存储类型。
          +maxVersions int 最多保留版本数,取值范围[1, 50000]

          返回参数

          示例

          其中,BceClientException相关信息参见异常处理

          private static void myCreateTable(TableStorageClient tableStorageClient) {
              // 设置表参数
              TableOption createTableOption = new TableOption();
              createTableOption.setTableVersion(0);
              createTableOption.setTtl(24 * 3600);
              createTableOption.setCompressType(CompressType.NONE);
              createTableOption.setStorageType(TableStorageConstants.STORAGE_TYPE_COMMON_PERFORMANCE);
              createTableOption.setMaxVersions(10);
              // 指定表名,其中TABLE_NAME为期望创建表的表名
              CreateTableRequest createTableRequest = new CreateTableRequest(TABLE_NAME, createTableOption);
              try{
                  // 创建一张表
                  tableStorageClient.createTable(createTableRequest);
              } catch(BceClientException e) {
                  return;
              }
          }

          更新表UpdateTable

          描述

          更新一张表的指定信息。

          请求参数

          参数 参数类型 说明
          tableName String 期望更新的表的名称,更新表时必须指定,且更新表不允许修改表的名称
          tableOption TableOption 配置信息,更新表时必须指定
          +tableVersion long 表版本号,更新表时其值为表当前的版本号,可以通过ShowTable操作获取。此外,更新表时必须不为0,为0时会抛出BceClientException
          +compressType CompressType(enum) 压缩方式,可取以下值:
          NONE:不压缩
          SNAPPY_ALL:使用snappy压缩
          DEFAULT:使用操作的默认值,不同操作中含义不同
          默认为不更新压缩方式。
          +ttl int 数据过期时间,单位为秒,设为0表示永不过期
          +maxVersions int 最多保留版本数,取值范围[1, 50000]

          返回参数

          示例

          其中,BceClientException相关信息参见异常处理

          private static void myUpdateTable(TableStorageClient tableStorageClient) {
              // 设置表参数
              TableOption updateTableOption = new TableOption();
              updateTableOption.setTableVersion(TABLE_VERSION);
              updateTableOption.setTimeToLive(0);
              updateTableOption.setCompressType(CompressType.SNAPPY_ALL);
              updateTableOption.setMaxVersions(15);
              // 指定表,其中TABLE_NAME为期望创建表的表名
              UpdateTableRequest updateTableRequest = new UpdateTableRequest(TABLE_NAME, updateTableOption);
              try {
                  // 修改表结构
                  tableStorageClient.updateTable(updateTableRequest);
              } catch(BceClientException e) {
                  return;
              }
          }

          删除表DropTable

          描述

          删除一张表。

          请求参数

          参数 参数类型 说明
          tableName String 期望删除的表的名称

          返回参数

          示例 其中,BceClientException相关信息参见异常处理

          private static void myDropTable(TableStorageClient tableStorageClient) {
              // 指定表,其中TABLE_NAME为期望删除表的表名
              DropTableRequest dropTableRequest = new DropTableRequest(TABLE_NAME);
              try {
                  // 删除指定表
                  tableStorageClient.dropTable(dropTableRequest);
              } catch (BceClientException e) {
                  return;
              }
          }

          显示表信息ShowTable

          描述

          查询一张表的信息。

          请求参数

          参数 参数类型 说明
          tableName String 期望查询的表的名称

          返回参数

          ShowTable操作获取到表的信息如下:

          参数名称 参数类型 说明
          instance String 表所在实例的名称
          tableName String 表的名称
          tableState String 表的状态信息,目前有以下四种状态:
          Normal:表状态正常,可正常读写
          Creating:表正在创建中
          Updating:表正在更新中
          Dropping:表正在被删除
          tableVersion long 当前table版本号,值是最后一次更新的微秒级时间戳
          createTime String 表创建的UTC时间
          compressType String 数据压缩方式,默认为不压缩,可取以下值:
          NONE : 不压缩
          SNAPPY_ALL : 使用snappy压缩
          ttl int 数据过期时间,为0时永不过期,默认永不过期,单位秒
          storageType String 表存储类型,可取以下值:
          HighPerformance:SSD存储
          CommonPerformance:SATA存储
          maxVersions int 最多保留版本数,取值范围[1, 50000]

          示例 其中,BceClientException相关信息参见异常处理

          private static void myShowTable(TableStorageClient tableStorageClient) {
              // 指定表,其中TABLE_NAME为期望展示表的表名
              ShowTableRequest showTableRequest = new ShowTableRequest(TABLE_NAME);
              try {
                  // 获取指定表结构信息
                  ShowTableResponse response = tableStorageClient.showTable(showTableRequest);
                  // 打印表结构信息
                  System.out.println("==================================");
                  System.out.println("ShowTableResponse result:");
                  System.out.println("  tableName=" + response.getTableName());
                  System.out.println("  tableState=" + response.getTableState());
                  System.out.println("  tableVersion=" + response.getTableVersion());
                  System.out.println("  createTime=" + response.getCreateTime());
                  System.out.println("  compressType=" + response.getCompressType());
                  System.out.println("  ttl=" + response.getTtl());
                  System.out.println("  storageType=" + response.getStorageType());
                  System.out.println("  maxVersions=" + response.getMaxVersions());
                  System.out.println("==================================");
              } catch (BceClientException e) {
                  return;
              }
          }

          列举所有表ListTable

          描述

          列举实例下所有表名称。

          请求参数

          返回参数

          ListTable操作获取到表的信息如下:

          参数名称 参数类型 说明
          tables List table列表
          +tableName String 表名称
          +tableState String 表状态信息,有如下取值:<br/normal:表状态正常,可正常读写
          Creating:表正在创建中
          Dropping:表正在被删除
          +tableVersion long 当前table版本号,值是最后一次更新的时间戳
          +createTime String 表创建的UTC时间
          +storageType String 表存储类型,可以取以下值:
          HighPerformance:SSD存储
          CommonPerformance:SATA存储
          maxVersions int 最多保留版本数,取值范围[1, 50000]

          示例

          其中,BceClientException相关信息参见异常处理

          private static void myListTables(TableStorageClient tableStorageClient) {
              ListTablesRequest listTablesRequest = new ListTablesRequest();
              try {
                  // 列举当前实例下的所有表
                  ListTablesResponse response = tableStorageClient.listTables(listTablesRequest);
                  // 打印列举表信息
                  System.out.println("==================================");
                  System.out.println("ListTableResponse result:");
                  for (ListTablesResponse.TableInfo info : response.getTables()) {
                      System.out.println("TableInfo result:");
                      System.out.println("    tableName=" + info.getTableName() + ",");
                      System.out.println("    tableState=" + info.getTableState() + ",");
                      System.out.println("    tableVersion=" + info.getTableVersion() + ",");
                      System.out.println("    tableStorageType=" + info.getStorageType());
                      System.out.println("    maxVersions=" + info.getMaxVersions());
                  }
                  System.out.println("==================================");
              } catch (BceClientException e) {
                  return;
              }
          }
          上一篇
          初始化
          下一篇
          行操作