首頁 > 後端開發 > Golang > 從 Go 連接到 MySQL 的最佳方式是什麼?

從 Go 連接到 MySQL 的最佳方式是什麼?

Barbara Streisand
發布: 2024-12-19 05:30:09
原創
732 人瀏覽過

What's the Best Way to Connect to MySQL from Go?

從Go 連接到MySQL 的首選協議

當尋找可靠的方法從Go 與MySQL 資料庫建立連接時,出現了許多庫:潛在的解決方案。然而,評估這些庫的成熟度和持續維護仍然是一個挑戰。對於那些尋求簡單且廣泛採用的方法的人,提供了以下建議。

建議的函式庫實作資料庫/sql API

資料庫/sql API 充當在 Go 中使用 SQL 資料庫的首選介面。此API 提供:

  • 清晰高效的語法
  • 與各種驅動程式的兼容性,無需更改程式碼即可無縫切換(匯入和連接處理除外)

兩個快速可靠的驅動程式實作此API是:

  • MyMySQL
  • Go-MySQL-Driver

這些驅動程式已證明可可靠地處理大容量連接,在生產環境中提供一致的效能.

範例用法MyMySQL

import (
    "database/sql"
    _ "github.com/ziutek/mymysql/godrv"
)

func main() {
    // Username, password, and database details are placeholders
    db, err := sql.Open("mymysql", "database/user/password")
    if err != nil {
        // Handle error
    }

    // Perform database operations

    db.Close()
}
登入後複製

Go-MySQL-Driver的範例用法

import (
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
)

func main() {
    // Username, password, and database details are placeholders
    db, err := sql.Open("mysql", "user:password@/database")
    if err != nil {
        // Handle error
    }

    // Perform database operations

    db.Close()
}
登入後複製

資料庫操作

以下操作示範如何使用 MySQL Go:

  • 選擇單行:
var cb SomeThing
err := con.QueryRow("select ...").Scan(&cb.Mdpr, &cb.X, &cb.Y, &cb.Z)
登入後複製
  • 選擇多行放入切片:
var items []*SomeStruct
for rows.Next() {
    err = rows.Scan(&ida, &idb)
    items = append(items, &SomeStruct{ida, idb})
}
登入後複製
  • 插入一個record:
_, err = con.Exec("insert into ...")
登入後複製

Go 中的 MySQL 整合高效可靠,可長時間穩定運作。資料庫/sql API 的靈活性可實現驅動程式的無縫切換,而不會中斷應用程式邏輯。

以上是從 Go 連接到 MySQL 的最佳方式是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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