DESCRIBE ステートメントを実行して、フィールド名やフィールドタイプなど、テーブルに関する情報をクエリできます。
説明
DESCRIBE ステートメントの詳細については、テーブルに関する情報のクエリ を参照してください。
前提条件
OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスの初期化 を参照してください。
マッピングテーブルが作成されていること。詳細については、テーブルのマッピングテーブルの作成 を参照してください。
パラメーター
パラメーター | 説明 |
query | SQL ステートメント。必要な機能に基づいてパラメーターを設定します。 |
例
次のサンプルコードは、describe test_table
ステートメントを実行して test_table に関する情報をクエリする方法の例を示しています。
func getTableDesc(client *tablestore.TableStoreClient) {
// SQL リクエストを作成します。
request := &tablestore.SQLQueryRequest{Query: "describe test_table"}
// SQL リクエストへのレスポンスを取得します。
response, err := client.SQLQuery(request)
if err != nil {
panic(err)
}
// SQL リクエストの戻り結果のスキーマを取得します。
columns := response.ResultSet.Columns()
for l := 0; l< len(columns); l++ {
fmt.Printf("%v:%v ", columns[l].Name, columns[l].Type.String())
}
// SQL ResultSet を使用して、SQL リクエストのすべての戻り結果を取得します。
fmt.Println("]\nresponse resultset:")
resultSet := response.ResultSet
for resultSet.HasNext() {
row := resultSet.Next()
for i := range columns {
if i > 0 {
fmt.Printf(", ")
}
value, err := row.GetString(i)
if err != nil {
panic(err)
}
fmt.Printf(value)
}
fmt.Println()
}
}
サンプルレスポンス:
response table schema: [Field:STRING Type:STRING Null:STRING Key:STRING Default:STRING Extra:STRING]
response resultset:
pk, varchar(1024), NO, PRI, ,
long_value, bigint(20), YES, , ,
double_value, double, YES, , ,
string_value, mediumtext, YES, , ,
bool_value, tinyint(1), YES, , ,
参照
マッピングテーブルを使用して特定の条件を満たすデータをクエリするには、
SELECT
ステートメントを実行します。詳細については、データのクエリ を参照してください。データテーブルの属性列が変更された後にマッピングテーブルの属性列を更新するには、
ALTER TABLE
ステートメントを実行します。詳細については、マッピングテーブルの属性列の更新 を参照してください。マッピングテーブルを削除するには、
DROP MAPPING TABLE
ステートメントを実行します。詳細については、マッピングテーブルの削除 を参照してください。