首頁 > 後端開發 > Golang > 使用「database/sql」 API 從 Go 連接到 MySQL 的最佳方式是什麼?

使用「database/sql」 API 從 Go 連接到 MySQL 的最佳方式是什麼?

DDD
發布: 2024-12-24 01:30:15
原創
641 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板