Go学习:golang连接mysql数据库查询数据库信息
warning:
这篇文章距离上次修改已过202天,其中的内容可能已经有所变动。
package main
import (
"database/sql"
"fmt"
"log"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// 使用go连接mysql数据库
// 1. 引入mysql驱动
// 2. 打开数据库连接
// 3. 执行查询
// 4. 关闭数据库连接
// DSN格式: 用户名:密码@tcp(地址:端口)/数据库名称
dsn := "root:123456@tcp(localhost:3306)/test"
db, err := sql.Open("mysql", dsn)
if err != nil {
log.Fatal(err)
}
defer db.Close()
// 检查数据库连接是否成功
err = db.Ping()
if err != nil {
log.Fatal(err)
}
fmt.Println("连接数据库成功")
// 查询数据库信息
var (
id int
name string
)
rows, err := db.Query("SELECT id, name FROM user")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
err := rows.Scan(&id, &name)
if err != nil {
log.Fatal(err)
}
fmt.Printf("id: %d, name: %s\n", id, name)
}
err = rows.Err()
if err != nil {
log.Fatal(err)
}
}
这段代码展示了如何使用Go语言连接MySQL数据库,执行查询操作,并安全地处理可能出现的错误。代码中使用了sql.Open
来初始化数据库连接,并使用db.Ping
来检查连接是否成功。查询操作使用db.Query
执行,并通过rows.Next
遍历结果集,使用rows.Scan
来将查询结果映射到变量中。最后,代码使用defer
语句确保资源如数据库连接被妥善关闭。
评论已关闭