在 golang 中,可以使用第三方库 go-sql-driver/mysql
来实现 mysql 数据库的连接和操作。以下是简单的示例代码:
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql" // 导入 mysql 驱动
)
func main() {
// 创建数据库连接
db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/testdb")
if err != nil {
panic(err.Error())
}
defer db.Close()
// 执行 SQL 查询
rows, err := db.Query("SELECT id, name FROM users")
if err != nil {
panic(err.Error())
}
defer rows.Close()
// 遍历查询结果
for rows.Next() {
var id int
var name string
err = rows.Scan(&id, &name)
if err != nil {
panic(err.Error())
}
fmt.Printf("id: %d, name: %s\n", id, name)
}
}
这段代码首先通过 sql.Open()
函数创建了一个 mysql 数据库连接。其中第一个参数是驱动名称,第二个参数是连接字符串,格式为 用户名:密码@协议(地址:端口)/数据库名称
。
然后通过 db.Query()
函数执行了一条 SQL 查询语句,返回了查询结果的行数据。最后通过遍历结果集并调用 rows.Scan()
方法来获取每一行的字段数据。
除此之外,在 golang 中也可以通过 SQL 语句来进行数据库的 CRUD 操作,详见 database/sql
包相关文档。