DESCRIBE ステートメントを実行して、フィールド名やフィールドタイプなどのテーブル情報をクエリできます。
DESCRIBE ステートメントの詳細については、テーブル情報のクエリ を参照してください。
前提条件
OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスの初期化 を参照してください。
マッピングテーブルが作成されていること。詳細については、テーブルのマッピングテーブルの作成 を参照してください。
使用上の注意
Tablestore SDK for Java V5.13.0 以降では、SQL クエリ機能がサポートされています。SQL クエリ機能を使用するには、SQL クエリ機能をサポートするバージョンの Tablestore Java SDK を使用していることを確認してください。Tablestore SDK for Java のバージョン履歴については、Tablestore SDK for Java のバージョン履歴 を参照してください。
パラメーター
パラメーター | 説明 |
query | SQL ステートメント。必要な機能に基づいてパラメーターを設定します。 |
例
次のサンプルコードは、describe test_table
ステートメントを実行して test_table に関する情報をクエリする方法の例を示しています。
private static void getTableDesc(SyncClient client) {
// SQL リクエストを作成します。
SQLQueryRequest request = new SQLQueryRequest("describe test_table");
// SQL リクエストへのレスポンスを取得します。
SQLQueryResponse response = client.sqlQuery(request);
// SQL リクエストの戻り結果のスキーマを取得します。
SQLTableMeta tableMeta = response.getSQLResultSet().getSQLTableMeta();
System.out.println("response table schema: " + tableMeta.getSchema());
// SQL ResultSet を使用して、SQL クエリステートメントのすべての戻り結果を取得します。
System.out.println("response resultset:");
SQLResultSet resultSet = response.getSQLResultSet();
while (resultSet.hasNext()) {
SQLRow row = resultSet.next();
System.out.println(row.getString(0) + ", " + row.getString(1) + ", " +
row.getString(2) + ", " + row.getString(3) + ", " +
row.getString(4) + ", " + row.getString(5));
}
}
サンプルレスポンス:
response table schema: [Field:STRING, Type:STRING, Null:STRING, Key:STRING, Default:STRING, Extra:STRING]
response resultset:
pk, varchar(1024), NO, PRI, null,
long_value, bigint(20), YES, , null,
double_value, double, YES, , null,
string_value, mediumtext, YES, , null,
bool_value, tinyint(1), YES, , null,
参照
マッピングテーブルを使用して特定の条件を満たすデータをクエリするには、
SELECT
ステートメントを実行します。詳細については、データのクエリ を参照してください。データテーブルの属性列が変更された後にマッピングテーブルの属性列を更新するには、
ALTER TABLE
ステートメントを実行します。詳細については、マッピングテーブルの属性列の更新 を参照してください。マッピングテーブルを削除するには、
DROP MAPPING TABLE
ステートメントを実行します。詳細については、マッピングテーブルの削除 を参照してください。