在 Go 语言中连接 MySQL 数据库通常使用第三方库。目前比较流行的 MySQL 客户端库包括 github.com/go-sql-driver/mysql、github.com/go-xorm/xorm、github.com/jmoiron/sqlx 等。下面是一个使用 github.com/go-sql-driver/mysql 库连接 MySQL 数据库的简单示例:
首先,需要安装 MySQL 客户端库:
go get -u github.com/go-sql-driver/mysql
然后,可以编写 Go 代码连接到 MySQL 数据库并执行查询操作:
package main
import (
"database/sql"
"fmt"
"log"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// MySQL 数据库连接信息
db, err := sql.Open("mysql", "username:password@tcp(localhost:3306)/dbname")
if err != nil {
log.Fatal(err)
}
defer db.Close()
// 执行查询操作
rows, err := db.Query("SELECT * FROM users")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
// 遍历查询结果
for rows.Next() {
var id int
var name string
if err := rows.Scan(&id, &name); err != nil {
log.Fatal(err)
}
fmt.Printf("ID: %d, Name: %s\n", id, name)
}
if err := rows.Err(); err != nil {
log.Fatal(err)
}
}
在上面的示例中,首先导入 github.com/go-sql-driver/mysql 包,然后使用 sql.Open() 函数连接到 MySQL 数据库。在连接字符串中指定 MySQL 数据库的用户名、密码、主机和端口号以及要连接的数据库名称。然后使用 db.Query() 函数执行 SQL 查询,并使用 rows.Scan() 函数将查询结果扫描到变量中。
需要注意的是,示例中的连接字符串中的 username、password、localhost:3306、dbname 等信息需要替换为实际的 MySQL 数据库连接信息。
另外,还可以根据具体项目需求使用其他 MySQL 客户端库,如 github.com/go-xorm/xorm、github.com/jmoiron/sqlx 等。这些库提供了更高级的功能和更便捷的操作方式。










