すべてのプロダクト
Search
ドキュメントセンター

Tablestore:SQL 文を実行してデータをクエリする

最終更新日:May 27, 2025

このトピックでは、Tablestore SDK for Java を使用して、SQL 文を実行することでテーブル内のデータをクエリする方法について説明します。

使用上の注意

SQL クエリ機能は、Tablestore SDK for Java V5.13.0 以降でサポートされています。 SQL クエリ機能を使用する場合は、サポートされているバージョンの Tablestore SDK for Java がインストールされていることを確認してください。

前提条件

方法

public SQLQueryResponse sqlQuery(SQLQueryRequest request) throws TableStoreException, ClientException

SQLQueryRequest パラメーター

クエリ 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();
    // スキーマ情報を返します。
    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"));
    }
}

FAQ

関連情報