通过 SQL 查询数据

更新时间:
复制 MD 格式

通过 Java SDK 执行 SELECT 语句,查询映射表中的数据及其字段结构。

前提条件

功能说明

调用 sqlQuery 方法执行 SELECT 语句,查询映射表中的数据。查询结果包含字段结构和满足查询条件的数据行。

SQLQueryResponse sqlQuery(SQLQueryRequest request)

以下示例查询 example_table 映射表中 tenant_id 等于 1 的数据,最多返回 10 行。

String query = "SELECT tenant_id, pk, name, score FROM example_table "
        + "WHERE tenant_id = 1 LIMIT 10";
SQLQueryRequest request = new SQLQueryRequest(query);

SQLQueryResponse response = client.sqlQuery(request);
SQLResultSet resultSet = response.getSQLResultSet();
System.out.println("Schema: " + resultSet.getSQLTableMeta().getSchema());

while (resultSet.hasNext()) {
    SQLRow row = resultSet.next();
    System.out.println(
            row.getLong("tenant_id") + ", "
                    + row.getString("pk") + ", "
                    + row.getString("name") + ", "
                    + row.getLong("score"));
}

参数说明

SQLQueryRequest 包含以下参数。

名称

类型

说明

query(必选)

String

要执行的 SELECT 语句。

返回值

SQLQueryResponse 包含以下与查询结果相关的字段。

字段

类型

说明

type

SQLStatementType

通过 getSQLStatementType() 获取 SQL 语句类型。执行 SELECT 语句时返回 SQL_SELECT

rows

ByteString

SQL 查询结果的序列化数据。通过 getSQLResultSet() 获取解析后的 SQLResultSet,再通过 getSQLTableMeta() 获取字段结构,并迭代读取数据行。

consumedCapacityByTable

Map<String, ConsumedCapacity>

通过 getConsumedCapacity() 获取各数据表消耗的读 CU。