首页 >后端开发 >Golang >使用'database/sql” API 从 Go 连接到 MySQL 的最佳方式是什么?

使用'database/sql” API 从 Go 连接到 MySQL 的最佳方式是什么?

DDD
DDD原创
2024-12-24 01:30:15640浏览

What's the Best Way to Connect to MySQL from Go Using the `database/sql` API?

从 Go 连接到 MySQL 的最佳方式

Go 中可靠的 MySQL 连接

使用适当的驱动程序可以轻松从 Go 连接到 MySQL 。在可用选项中,推荐遵循数据库/sql API 的选项,因为它们:

  • 干净高效的语法
  • 无需修改代码即可跨多个驱动程序兼容(导入和连接除外) )

Go 的顶级 MySQL 驱动程序

两个快速可靠的 MySQL 驱动程序脱颖而出连接:

  • MyMySQL
  • Go-MySQL-Driver

生产测试的经验证实了其稳定性和性能。

导入语句对于驱动程序

  • MyMySQL:导入(_ "github.com/ziutek/mymysql/godrv")
  • Go-MySQL-Driver: import (_ "github.com/go-sql-driver/mysql")

连接和正在关闭

  • MyMySQL:

    con, err := sql.Open("mymysql", database+"/"+user+"/"+password)
    defer con.Close()
  • Go-MySQL-Driver:

    con, err := sql.Open("mysql", store.user+":"+store.password+"@/"+store.database)
    defer con.Close()

样品查询

  • 选择单行:

    row := con.QueryRow("select mdpr, x, y, z from sometable where>
  • 选择多行:

    rows, err := con.Query("select a, b from item where p1=? and p2=?", p1, p2)
    if err != nil { /* error handling */}
    items := make([]*SomeStruct, 0, 10)
    var ida, idb uint
    for rows.Next() {
      err = rows.Scan(&ida, &idb)
      if err != nil { /* error handling */}
      items = append(items, &SomeStruct{ida, idb})
    }
  • 插入操作:

    _, err = con.Exec("insert into tbl (id, mdpr, isok) values (?, ?, 1)", id, mdpr)

数据库/sql API 的优点

在 Go 中使用数据库/sql API 进行 MySQL 连接有几个好处:

  • 简化的语法:API 在不同的环境中提供一致的接口
  • 驱动程序互换性:MySQL 驱动程序之间的切换变得容易,只需修改导入和连接线即可。

凭借可靠的驱动程序和强大的 API,连接在 Go 中访问 MySQL 是一种无缝体验。

以上是使用'database/sql” API 从 Go 连接到 MySQL 的最佳方式是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn