一旦成功连接到数据库,就可以执行SQL查询了。在Golang中,您可以使用`db.Query()`方法执行查询语句,并返回一个`*sql.Rows`对象,其中包含查询结果。以下是一个简单的示例:
```go
rows, err := db.Query("SELECT * FROM users")
if err != nil {
panic(err.Error())
}
defer rows.Close()
for rows.Next() {
// 处理每一行数据的代码
}
if err := rows.Err(); err != nil {
panic(err.Error())
}
```
处理查询结果
在循环遍历数据库记录时,您需要处理每一行数据并提取出所需的字段或值。对于每一行数据,可以使用`rows.Scan()`方法将查询结果映射到变量中。以下是一个示例:
```go
var (
id int
name string
)
for rows.Next() {
err := rows.Scan(&id, &name)
if err != nil {
panic(err.Error())
}
// 处理每一行数据的代码
}
```
除了上述的基本循环遍历方法外,Golang还提供了一种更高级的循环遍历数据库记录的方法,即使用数据库迭代器。使用数据库迭代器可以更加方便地处理大量数据,并在需要时分批加载数据。以下是一个使用数据库迭代器的示例:
```go
iter := db.QueryRow("SELECT COUNT(*) FROM users").Scan(&count)
if iter.Next() {
// 处理每一条数据库记录的代码
}
```