行操作
更新时间: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相关信息参见异常处理
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;
}
}