目前支持使用SQL查询功能的地域有华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华南1(深圳)、中国香港、德国(法兰克福)、美国(弗吉尼亚)、印度(孟买)和新加坡。
重要
获取查询结果时,接收字段数据的变量类型必须和表格存储中字段数据类型相匹配。关于数据类型映射的更多信息,请参见
数据类型映射
。
使用Query方法查询
// 设置SQL语句,此处以查询test_table表中pk1列、col1列和col2列的数据为例介绍,请根据实际需要设置。
rows, err := db.Query("SELECT pk1, col1, col2 FROM test_table WHERE pk1 = ?", 3)
if err != nil {
panic(err) // 处理错误。
for rows.Next() {
var pk1 int64
var col1 float64
var col2 string
err := rows.Scan(&pk1, &col1, &col2)
if err != nil {
panic(err) // 处理错误。
使用Prepare创建一个Stmt查询// 设置SQL语句,此处以查询test_table表中pk1列、col1列和col2列的数据为例介绍,请根据实际需要设置。
stmt, err := db.Prepare("SELECT pk1, col1, col2 FROM test_table WHERE pk1 = ?")
if err != nil {
panic(err) // 处理错误。
rows, err := stmt.Query(3)
if err != nil {
panic(err) // 处理错误。
for rows.Next() {
var pk1 int64
var col1 float64
var col2 string
err := rows.Scan(&pk1, &col1, &col2)
if err != nil {
panic(err) // 处理错误。
查询华东1(杭州)地域下myinstance实例中test_table的所有数据。
package main
import (
"database/sql"
"fmt"
_ "github.com/aliyun/aliyun-tablestore-go-sql"
func main() {
db, err := sql.Open("ots", "https://************************:********************************@myinstance.cn-hangzhou.ots.aliyuncs.com/myinstance")
if err != nil {
panic(err)
rows, err := db.Query("SELECT * FROM test_table")
if err != nil {
panic(err)
for rows.Next() {
// 获取所有列。
columns, err := rows.Columns()
if err != nil {
panic(err)
// 创建存放数据的数组和指针。
values := make([]interface{}, len(columns))
pointers := make([]interface{}, len(columns))
for i := range values {
pointers[i] = &values[i]
// 扫描数据行。
err = rows.Scan(pointers...)
if err != nil {
panic(err)
fmt.Println(values...)
rows.Close()
db.Close()
通过表格存储Go语言驱动支持修改Go SDK的配置项。常用配置项的详细说明请参见下表。