All Products
Search
Document Center

Tablestore:Kueri data dengan menjalankan pernyataan SQL

Last Updated:May 01, 2026

Gunakan Tablestore SDK untuk Go untuk mengkueri data dengan menjalankan pernyataan SQL.

Prasyarat

Parameter

Parameter

Deskripsi

query

Pernyataan SQL yang akan dijalankan.

Contoh

Contoh berikut menjalankan pernyataan SELECT terhadap test_table dan mengembalikan hingga 20 baris. Respons mencakup tipe pernyataan, skema set hasil, dan data baris.

func queryData(client *tablestore.TableStoreClient) {
    // Bangun permintaan SQL.
    request := &tablestore.SQLQueryRequest{Query: "select pk, long_value, double_value, string_value, bool_value from test_table limit 20"}

    // Jalankan permintaan SQL.
    response, err := client.SQLQuery(request)
    if err != nil {
        panic(err)
    }

    // Cetak tipe pernyataan.
    fmt.Printf("response type: %v\n", response.StmtType.String())

    // Cetak skema set hasil.
    columns := response.ResultSet.Columns()
    fmt.Printf("response table meta: [")
    for i := 0; i < len(columns); i++ {
        fmt.Printf("%v:%v ", columns[i].Name, columns[i].Type.String())
    }

    // Iterasi melalui baris-baris dalam set hasil.
    resultSet := response.ResultSet
    fmt.Println("]\nresponse resultset:")
    for resultSet.HasNext() {
        row := resultSet.Next()
        stringValue, _ := row.GetString(0)
        fmt.Printf("%v, ", stringValue)
        stringValue, _ = row.GetStringByName("pk")
        fmt.Printf("%v, ", stringValue)
        longValue, _ := row.GetFloat64(1)
        fmt.Printf("%v, ", longValue)
        longValue, _ = row.GetFloat64ByName("long_value")
        fmt.Printf("%v, ", longValue)
        floatValue, _ := row.GetFloat64(2)
        fmt.Printf("%v, ", floatValue)
        floatValue, _ = row.GetFloat64ByName("double_value")
        fmt.Printf("%v, ", floatValue)
        stringValue, _ = row.GetString(3)
        fmt.Printf("%v, ", stringValue)
        stringValue, _ = row.GetStringByName("string_value")
        fmt.Printf("%v, ", stringValue)
        boolValue, _ := row.GetBool(4)
        fmt.Printf("%v, ", boolValue)
        boolValue, _ = row.GetBoolByName("bool_value")
        fmt.Printf("%v\n", boolValue)
    }
}

Contoh respons:

response type: SQL_SELECT
response table meta: [pk:STRING long_value:INTEGER double_value:DOUBLE string_value:STRING bool_value:BOOLEAN]
response resultset:
binary_null, binary_null, 0, 0, 1, 1, a, a, false, false
bool_null, bool_null, 0, 0, 1, 1, a, a, false, false
double_null, double_null, 0, 0, 1, 1, a, a, false, false
long_null, long_null, 0, 0, 1, 1, a, a, false, false
string_null, string_null, 0, 0, 1, 1, , , false, false

FAQ

Referensi