ホームページ > バックエンド開発 > Golang > `database/sql` API を使用して Go から MySQL に接続する最良の方法は何ですか?

`database/sql` API を使用して Go から MySQL に接続する最良の方法は何ですか?

DDD
リリース: 2024-12-24 01:30:15
オリジナル
638 人が閲覧しました

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 ドライバー

2 つの高速で信頼性の高いドライバーが立っていますMySQL 接続の場合:

  • MyMySQL
  • Go-MySQL-Driver

本番環境でテストされた経験により、安定性とパフォーマンスが確認されています。

インポートステートメントドライバー

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

接続と終了

  • MySQL:

    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 の利点

MySQL 接続のために Go でデータベース/SQL API を使用すると、いくつかの利点があります:

  • 簡略化された構文: API が提供するもの異なるデータベース間で一貫したインターフェイス。
  • ドライバーの互換性: MySQL ドライバー間の切り替えが簡単になり、インポートと接続行の変更のみが必要になります。

信頼性の高いドライバーと強力な API により、Go での MySQL への接続はシームレスなエクスペリエンスです。

以上が`database/sql` API を使用して Go から MySQL に接続する最良の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート