行操作
更新时间:2022-06-09
单条写入
描述
写入一行数据。
请求参数
参数名称 | 参数类型 | 说明 |
---|---|---|
tableName | String | 表的名称 |
putRow | PutRow | 期望写入的行 |
+rowkey | String | 行主键 |
+cells | List |
每个column,value对的列表 |
++column | String | 列名,命名规则满足正则[a-zA-Z_][a-za-z0-9\_]{0,254} |
++value | String | 列值 |
返回参数
无
示例
其中,BceClientException相关信息参见异常处理
Plain Text
1private static void myPutRow(TableStorageClient client) {
2 // 指定表,其中TABLE_NAME为期望写入数据的表的表名
3 PutRowRequest putRequest = new PutRowRequest(TABLE_NAME, "rowkey1");
4 // 设置写入内容
5 for (int i = 0; i < 10; i++) {
6 putRequest.addCell("col" + i, "val" + i);
7 }
8 try {
9 // 写入一行数据
10 tableStorageClient.putRow(putRequest);
11 } catch (BceClientException e) {
12 return;
13 }
14}
批量写入
描述
批量写入多行数据。
请求参数
参数名称 | 参数类型 | 说明 |
---|---|---|
tableName | String | 表的名称 |
putRows | List |
期望写入的行 |
+rowkey | String | 行主键 |
+cells | List |
每个column,value对的列表 |
++column | String | 列名,命名规则满足正则[a-zA-Z_][a-za-z0-9\_]{0,254} |
++value | String | 列值 |
返回参数
无
示例
其中,BceClientException相关信息参见异常处理
Plain Text
1private static void myBatchPutRow(TableStorageClient client) {
2 // 指定表,其中TABLE_NAME为期望写入数据的表的表名
3 BatchPutRowRequest batchPutRowRequest = new BatchPutRowRequest(TABLE_NAME);
4 // 设置写入内容
5 for (int i = 0; i < 10; i++) {
6 PutRow putRow = new PutRow("rowkey" + i);
7 for (int j = 0; j < 10; j++) {
8 putRow.addCell("col" + j, "val" + j);
9 }
10 batchPutRowRequest.addPutRow(putRow);
11 }
12 try {
13 // 批量写入多行数据
14 tableStorageClient.batchPutRow(batchPutRowRequest);
15 } catch (BceClientException e) {
16 return;
17 }
18}
单条删除
描述
删除一整行数据或该行数据的部分列。
请求参数
参数名称 | 参数类型 | 说明 |
---|---|---|
tableName | String | 表的名称 |
deleteRow | DeleteRow | 指定要删除的行 |
+rowkey | String | 主键 |
+cells | List |
待删除column列表,不写默认返回全部列 |
++column | String | 待删除的列名称 |
返回参数
无
示例
其中,BceClientException相关信息参见异常处理
Plain Text
1private static void myDeleteRow(TableStorageClient client) {
2 // 指定表,其中TABLE_NAME为期望删除数据的表的表名
3 DeleteRowRequest deleteRowRequest = new DeleteRowRequest(TABLE_NAME, “rowkey1”);
4 // 指定期望删除的列
5 for (int i = 0; i < 10; i++) {
6 deleteRowRequest.addCell("col" + i);
7 }
8 try {
9 // 删除指定行的数据
10 tableStorageClient.deleteRow(deleteRowRequest);
11 } catch (BceClientException e) {
12 return;
13 }
14}
批量删除
描述
批量删除若干行数据。
请求参数
参数名称 | 参数类型 | 说明 |
---|---|---|
tableName | String | 表的名称 |
deleteRows | List |
指定要删除的列 |
+rowkey | String | 主键 |
+cells | List |
待删除column列表,不写默认返回全部列 |
++column | String | 待删除的列名称 |
返回参数
无
示例
其中,BceClientException相关信息参见异常处理
Plain Text
1private static void myBatchDeleteRow(TableStorageClient client) {
2 // 指定表,其中TABLE_NAME为期望删除数据的表的表名
3 BatchDeleteRowRequest batchDeleteRowRequest = new batchDeleteRowRequest(TABLE_NAME);
4 // 指定期望删除的行和列
5 for (int i = 0; i < 10; i++) {
6 DeleteRow deleteRow = new DeleteRow("rowkey" + i);
7 for (int j = 0; j < 10; j++) {
8 deleteRow.addCell("col" + j);
9 }
10 batchDeleteRowRequest.addDeleteRow(deleteRow);
11 }
12 try {
13 // 批量删除多行数据
14 tableStorageClient.batchDeleteRow(request);
15 } catch (BceClientException e) {
16 return;
17 }
18}
单条随机读
描述
查询一行,或一行中的某些列。
请求参数
参数名称 | 参数类型 | 说明 |
---|---|---|
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相关信息参见异常处理
Plain Text
1private static void myGetRow(TableStorageClient client) {
2 // 指定表,其中TABLE_NAME为期望读取数据的表的表名
3 GetRowRequest getRowRequest = new GetRowRequest(TABLE_NAME, rowkey);
4 // 指定随机读取的列和版本数
5 for (int i = 0; i < 10; i++) {
6 getRowRequest.addCell("col" + i);
7 }
8 getRowRequest.setMaxVersions(1);
9 try {
10 // 读取指定行的数据
11 GetRowResponse response = tableStorageClient.getRow(getRowRequest);
12 // 打印随机读结果
13 System.out.println("==================================");
14 System.out.println("GetRowResponse result:");
15 TableStorageResult result = response.getResult();
16 System.out.println(" rowkey=" + result.getRowkey() + ",");
17 for (TableStorageCell cell : result.getCells()) {
18 System.out.println(" column=" + cell.getColumn() + ", value=" + cell.getValue() + ",");
19 }
20 System.out.println("==================================");
21 } catch (BceClientException e) {
22 return;
23 }
24}
批量随机读
描述
批量查询一行,或一行中的某些列。
请求参数
参数名称 | 参数类型 | 说明 |
---|---|---|
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相关信息参见异常处理
Plain Text
1private static void myBatchGetRow(TableStorageClient client) {
2 // 指定表,其中TABLE_NAME为期望读取数据的表的表名
3 BatchGetRowRequest batchGetRowRequest = new BatchGetRowRequest(TABLE_NAME);
4 // 指定随机读的行和列
5 for (int i = 0; i < 10; i++) {
6 GetRow getRow = new GetRow("rowkey" + i);
7 for (int j = 0; j < 10; j++) {
8 getRow.addCell("col" + j);
9 }
10 batchGetRowRequest.addGetRow(getRow);
11 }
12 batchGetRowRequest.setMaxVersions(1);
13 try {
14 // 批量读取多行数据
15 BatchGetRowResponse response = tableStorageClient.batchGetRow(batchGetRowRequest);
16 // 打印随机读结果
17 System.out.println("==================================");
18 System.out.println("BatchGetRowResponse result:");
19 for (TableStorageResult result : response.getResults()) {
20 System.out.println(" result:");
21 System.out.println(" rowkey=" + result.getRowkey() + ",");
22 for (TableStorageCell cell : result.getCells()) {
23 System.out.println(" column=" + cell.getColumn() + ", value=" + cell.getValue() + ",");
24 }
25 }
26 System.out.println("==================================");
27 } catch (BceClientException e) {
28 return;
29 }
30}
区间读
描述
扫描若干行数据。
请求参数
参数名称 | 参数类型 | 说明 |
---|---|---|
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相关信息参见异常处理
Plain Text
1private static void myScan(TableStorageClient client) {
2 // 指定表,其中TABLE_NAME为期望区间读数据的表的表名
3 ScanRequest scanRequest = new ScanRequest(TABLE_NAME);
4 // 指定区间读范围
5 scanRequest.setStartRowkey(rowkey, true);
6 scanRequest.setStopRowkey(rowkey, true);
7 scanRequest.setMaxVersions(1);
8 scanRequest.setLimit(1);
9 // 指定需要读的列
10 for (int i = 0; i < 10; i++) {
11 scanRequest.addCell("col" + i);
12 }
13 try {
14 // 读取指定区间的数据
15 ScanResponse response = tableStorageClient.scan(scanRequest);
16 // 打印区间读结果
17 System.out.println("==================================");
18 System.out.println("ScanResponse result:");
19 for (TableStorageResult result : response.getResults()) {
20 System.out.println(" result:");
21 System.out.println(" rowkey=" + result.getRowkey() + ",");
22 for (TableStorageCell cell : result.getCells()) {
23 System.out.println(" column=" + cell.getColumn() + ", value=" + cell.getValue() + ",");
24 }
25 }
26 System.out.println("==================================");
27 } catch (BceClientException e) {
28 return;
29 }
30}