**遍历查询数据方法**
```go
package main
import (
"fmt"
"database/sql"
//导入mysql的驱动
_ "github.com/go-sql-driver/mysql"
)
func main(){
//使用database/sql包中的Open连接数据库
db,err := sql.Open("mysql","root:root@tcp(localhost:3306)/test?charset=utf8")
if err != nil {
fmt.Println("连接数据库失败:",err)
return
}
//使用DB的query方法遍历数据库数据
rows,err := db.Query("select * from `user`")
//获取完毕释放rows,阻止更多的列举
defer rows.Close()
if err != nil {
fmt.Println("获取错误:",err)
return
}
//如果有数据记录Next指针就不为true
for rows.Next() {
var id int
var username string
var age int
var gender string
rows.Scan(&id,&username,&age,&gender)
fmt.Println(id,username,age,gender)
}
//Err返回可能的、在迭代时出现的错误。Err需在显式或隐式调用Close方法后调用。
err = rows.Err()
if err != nil {
fmt.Println("other error:",err)
return
}
}
```
有疑问加站长微信联系(非本文作者))