赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 表格存储
  4. 开发参考
  5. SDK参考
  6. Java SDK
  7. SQL查询
  8. 查询数据

查询数据

  • SQL查询
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

本文介绍在Java SDK中如何通过SQL查询表中的数据。

注意事项

  • 表格存储Java SDK从5.13.0版本开始支持SQL查询功能,使用SQL查询功能时,请确保安装了正确的Java SDK版本。

  • 通过SQL查询数据前,您需要为数据表或多元索引创建映射表。

前提条件

初始化Tablestore Client

方法说明

public SQLQueryResponse sqlQuery(SQLQueryRequest request) throws TableStoreException, ClientException

SQLQueryRequest参数说明

query String(必选):需要执行的SQL语句。

示例代码

以下示例通过 SELECT 语句查询 test_table 表中的数据且最多返回10行数据。

运行代码前,请根据您的表信息替换代码中的表名称和字段名称。
public static void queryDataExample(SyncClient client) {
    // 查询 SQL
    SQLQueryRequest request = new SQLQueryRequest("select order_id, user_id, sku_id, price, num, total_price, order_status, create_time, modified_time from test_table limit 10;");
    SQLQueryResponse response = client.sqlQuery(request);

    // RequestId 信息
    System.out.println("RequestId: " + response.getRequestId());
        /*// 读吞吐量消耗信息
        System.out.println("读吞吐量消耗(按表统计):");
        for(Map.Entry<String, ConsumedCapacity> entry : response.getConsumedCapacity().entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue().getCapacityUnit().getReadCapacityUnit() + "CU");
        }*/

    // 获取 SQL 查询结果
    SQLResultSet resultSet = response.getSQLResultSet();
    // 返回 Schema 信息
    System.out.println("Schema: " + response.getSQLResultSet().getSQLTableMeta().getSchema());
    // 数据明细
    System.out.println("数据明细:");
    while (resultSet.hasNext()) {
        SQLRow row = resultSet.next();
        System.out.println(row.get("order_id") + ", "
                + row.get("user_id") + ", "
                + row.get("sku_id") + ", "
                + row.get("price") + ", "
                + row.get("num") + ", "
                + row.get("total_price") + ", "
                + row.get("order_status") + ", "
                + row.get("create_time") + ", "
                + row.get("modified_time"));
    }
}

常见问题

  • 使用SQL查询数据时报错The sql scanned rows of main table exceeds the quota, main table rows quota is 100000

相关文档

  • 通过SELECT查询数据功能介绍

  • SQL查询常见错误排查

相关文章

创建表的映射关系 2025-04-22 14:27

通过create table语句为已存在的表或者多元索引创建映射关系。创建映射关系时需要配置表的字段名称、字段类型和主键信息以及根据需要配置查询数据时的执行引擎。

更新映射表属性列 2025-04-22 14:27

执行ALTER TABLE语句为已存在的映射表添加或删除属性列。 说明 关于

删除映射表 2025-04-22 14:27

您可以使用 DROP MAPPING TABLE 语句删除映射表,支持同时删除多个映射表。 注意事项 表格存储Java SDK从5.13.0版本开始支持

列出映射表名称列表 2025-04-22 14:27

通过show tables语句列出当前数据库中的映射表名称列表。 说明

查询表的描述信息 2025-04-22 14:27

通过describe语句查询表的描述信息,例如字段名称、字段类型等。 说明

查询索引描述信息 2025-04-22 14:27

通过show index语句查询表的索引描述信息,例如索引名称、索引字段、索引类型等。 说明

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号