行操作
所有文档

          云数据库 TableStorage

          行操作

          单条写入

          描述

          写入一行数据。

          请求参数

          参数名称 参数类型 说明
          tableName String 表的名称
          putRow PutRow 期望写入的行
          +rowkey String 行主键
          +cells List 每个column,value对的列表
          ++column String 列名,命名规则满足正则[a-zA-Z_][a-za-z0-9\_]{0,254}
          ++value String 列值

          返回参数

          示例

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

          private static void myPutRow(TableStorageClient client) {
              // 指定表,其中TABLE_NAME为期望写入数据的表的表名
              PutRowRequest putRequest = new PutRowRequest(TABLE_NAME, “rowkey1”);
              // 设置写入内容
              for (int i = 0; i < 10; i++) {
                  putRequest.addCell("col" + i, "val" + i);
              }
              try {
                  // 写入一行数据
                  tableStorageClient.putRow(putRequest);
              } catch (BceClientException e) {
                  return;
              }
          }   

          批量写入

          描述

          批量写入多行数据。

          请求参数

          参数名称 参数类型 说明
          tableName String 表的名称
          putRows List 期望写入的行
          +rowkey String 行主键
          +cells List 每个column,value对的列表
          ++column String 列名,命名规则满足正则[a-zA-Z_][a-za-z0-9\_]{0,254}
          ++value String 列值

          返回参数

          示例

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

          private static void myBatchPutRow(TableStorageClient client) {
              // 指定表,其中TABLE_NAME为期望写入数据的表的表名
              BatchPutRowRequest batchPutRowRequest = new BatchPutRowRequest(TABLE_NAME);
              // 设置写入内容
              for (int i = 0; i < 10; i++) {
                  PutRow putRow = new PutRow("rowkey" + i);
                  for (int j = 0; j < 10; j++) {
                      putRow.addCell("col" + j, "val" + j);
                  }
                  batchPutRowRequest.addPutRow(putRow);
              }
              try {
                  // 批量写入多行数据
                  tableStorageClient.batchPutRow(batchPutRowRequest);
              } catch (BceClientException e) {
                  return;
              }
          }

          单条删除

          描述

          删除一整行数据或该行数据的部分列。

          请求参数

          参数名称 参数类型 说明
          tableName String 表的名称
          deleteRow DeleteRow 指定要删除的行
          +rowkey String 主键
          +cells List 待删除column列表,不写默认返回全部列
          ++column String 待删除的列名称

          返回参数

          示例

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

          private static void myDeleteRow(TableStorageClient client) {
              // 指定表,其中TABLE_NAME为期望删除数据的表的表名
              DeleteRowRequest deleteRowRequest = new DeleteRowRequest(TABLE_NAME, “rowkey1”);
              // 指定期望删除的列
              for (int i = 0; i < 10; i++) {
                  deleteRowRequest.addCell("col" + i);
              }
              try {
                  // 删除指定行的数据
                  tableStorageClient.deleteRow(deleteRowRequest);
              } catch (BceClientException e) {
                  return;
              }
          }

          批量删除

          描述

          批量删除若干行数据。

          请求参数

          参数名称 参数类型 说明
          tableName String 表的名称
          deleteRows List 指定要删除的列
          +rowkey String 主键
          +cells List 待删除column列表,不写默认返回全部列
          ++column String 待删除的列名称

          返回参数

          示例

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

          private static void myBatchDeleteRow(TableStorageClient client) {
              // 指定表,其中TABLE_NAME为期望删除数据的表的表名
              BatchDeleteRowRequest batchDeleteRowRequest = new batchDeleteRowRequest(TABLE_NAME);
              // 指定期望删除的行和列
              for (int i = 0; i < 10; i++) {
                  DeleteRow deleteRow = new DeleteRow("rowkey" + i);
                  for (int j = 0; j < 10; j++) {
                      deleteRow.addCell("col" + j);
                  }
                  batchDeleteRowRequest.addDeleteRow(deleteRow);
              }
              try {
                  // 批量删除多行数据
                  tableStorageClient.batchDeleteRow(request);
              } catch (BceClientException e) {
                  return;
              }
          }

          单条随机读

          描述

          查询一行,或一行中的某些列。

          请求参数

          参数名称 参数类型 说明
          tableName String 表的名称
          getRow GetRow 指定要查询的行
          +rowkey String 主键
          +maxVersions int 指定读取的最大版本数。设置该值后,用户可读取之前的版本到最新版本之间共maxVersions个版本的数据
          +cells List 待查询column列表,不写默认返回全部列
          ++column String 待查询的列名称

          返回参数

          参数名称 参数类型 说明
          result TableStorageResult 记录列表
          +rowkey String 主键
          +cells List cell列表
          ++column String 列名
          ++value String 列值
          ++timestamp long 版本号,多版本功能未上线时为0

          示例

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

          private static void myGetRow(TableStorageClient client) {
              // 指定表,其中TABLE_NAME为期望读取数据的表的表名
              GetRowRequest getRowRequest = new GetRowRequest(TABLE_NAME, rowkey);
              // 指定随机读取的列和版本数
              for (int i = 0; i < 10; i++) {
                  getRowRequest.addCell("col" + i);
              }
              getRowRequest.setMaxVersions(1);
              try {
                  // 读取指定行的数据
                  GetRowResponse response = tableStorageClient.getRow(getRowRequest);
                  // 打印随机读结果
                  System.out.println("==================================");
                  System.out.println("GetRowResponse result:");
                  TableStorageResult result = response.getResult();
                  System.out.println("  rowkey=" + result.getRowkey() + ",");
                  for (TableStorageCell cell : result.getCells()) {
                  System.out.println("    column=" + cell.getColumn() + ", value=" + cell.getValue() + ",");
              }
                  System.out.println("==================================");
              } catch (BceClientException e) {
                  return;
              }
          }

          批量随机读

          描述

          批量查询一行,或一行中的某些列。

          请求参数

          参数名称 参数类型 说明
          tableName String 表的名称
          getRows List 指定要查询的行
          +rowkey String 主键
          +maxVersions int 指定读取的最大版本数。设置该值后,用户可读取之前的版本到最新版本之间共maxVersions个版本的数据
          +cells List 待查询column列表,不写默认返回全部列
          ++column String 待查询的列名称

          返回参数

          参数名称 参数类型 说明
          results List 记录列表
          +rowkey String 主键
          +cells List cell列表
          ++column String 列名
          ++value String 列值
          ++timestamp long 版本号,多版本功能未上线时为0

          示例

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

          private static void myBatchGetRow(TableStorageClient client) {
              // 指定表,其中TABLE_NAME为期望读取数据的表的表名
              BatchGetRowRequest batchGetRowRequest = new BatchGetRowRequest(TABLE_NAME);
              // 指定随机读的行和列
              for (int i = 0; i < 10; i++) {
                  GetRow getRow = new GetRow("rowkey" + i);
                  for (int j = 0; j < 10; j++) {
                      getRow.addCell("col" + j);
                  }
                  batchGetRowRequest.addGetRow(getRow);
              }
              batchGetRowRequest.setMaxVersions(1);
              try {
                  // 批量读取多行数据
                  BatchGetRowResponse response = tableStorageClient.batchGetRow(batchGetRowRequest);
                  // 打印随机读结果
                  System.out.println("==================================");
                  System.out.println("BatchGetRowResponse result:");
                  for (TableStorageResult result : response.getResults()) {
                      System.out.println("  result:");
                      System.out.println("    rowkey=" + result.getRowkey() + ",");
                      for (TableStorageCell cell : result.getCells()) {
                          System.out.println("      column=" + cell.getColumn() + ", value=" + cell.getValue() + ",");
                      }
                  }
                  System.out.println("==================================");
              } catch (BceClientException e) {
                  return;
              }
          }

          区间读

          描述

          扫描若干行数据。

          请求参数

          参数名称 参数类型 说明
          startRowkey String scan的起始rowkey,默认表的第一个rowkey
          includeStart boolean 是否包含起始rowkey,默认包含
          stopRowkey String scan的终止rowkey,默认表的最后一个rowkey
          includeStop boolean 是否包含终止rowkey,默认不包含
          selector List 待查询的column列表,不写默认返回全部列
          +column String 待查询的列名称
          limit int 限定查询行数,其值必须为整型,设为其他类型无效
          maxVersions int 指定读取的最大版本数。设置该值后,用户可读取之前的版本到最新版本之间共maxVersions个版本的数据

          返回参数

          参数名称 参数类型 说明
          results List 记录列表
          +rowkey String 主键
          +cells List cell列表
          ++column String 列名
          ++value String 列值
          ++timestamp long 版本号,多版本功能未上线时为0
          nextStartKey String 若本次扫描未结束,返回下一次扫描的起始key,用户应用此值发起下一次scan操作

          示例

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

          private static void myScan(TableStorageClient client) {
              // 指定表,其中TABLE_NAME为期望区间读数据的表的表名
              ScanRequest scanRequest = new ScanRequest(TABLE_NAME);
              // 指定区间读范围
              scanRequest.setStartRowkey(rowkey, true);
              scanRequest.setStopRowkey(rowkey, true);
              scanRequest.setMaxVersions(1);
              scanRequest.setLimit(1);
              // 指定需要读的列
              for (int i = 0; i < 10; i++) {
                  scanRequest.addCell("col" + i);
              }
              try {
                  // 读取指定区间的数据
                  ScanResponse response = tableStorageClient.scan(scanRequest);
                  // 打印区间读结果
                  System.out.println("==================================");
                  System.out.println("ScanResponse result:");
                  for (TableStorageResult result : response.getResults()) {
                      System.out.println("  result:");
                      System.out.println("    rowkey=" + result.getRowkey() + ",");
                      for (TableStorageCell cell : result.getCells()) {
                      System.out.println("      column=" + cell.getColumn() + ", value=" + cell.getValue() + ",");
                      }
                  }
                  System.out.println("==================================");
              } catch (BceClientException e) {
                  return;
              }
          }
          上一篇
          表操作
          下一篇
          错误处理