Maison > développement back-end > Golang > Quelle est la meilleure façon de se connecter à MySQL depuis Go ?

Quelle est la meilleure façon de se connecter à MySQL depuis Go ?

Barbara Streisand
Libérer: 2024-12-19 05:30:09
original
731 Les gens l'ont consulté

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

Protocole préféré pour la connexion à MySQL depuis Go

Lorsque vous recherchez une méthode fiable pour établir des connexions avec des bases de données MySQL depuis Go, de nombreuses bibliothèques apparaissent comme solutions potentielles. Cependant, évaluer la maturité et la maintenance continue de ces bibliothèques reste un défi. Pour ceux qui recherchent une approche simple et largement adoptée, les recommandations suivantes sont fournies.

Bibliothèques recommandées implémentant l'API base de données/sql

L'API base de données/sql sert de interface préférée pour travailler avec des bases de données SQL dans Go. Cette API fournit :

  • Une syntaxe claire et efficace
  • Une compatibilité avec différents pilotes, permettant une commutation transparente sans altération du code (sauf pour les importations et la gestion des connexions)

Deux pilotes rapides et fiables implémentant cette API sont :

  • MyMySQL
  • Go-MySQL-Driver

Il a été prouvé que ces pilotes gèrent de manière fiable des connexions à volume élevé, offrant des performances constantes dans les environnements de production. .

Exemple d'utilisation avec 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()
}
Copier après la connexion

Exemple d'utilisation avec 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()
}
Copier après la connexion

Opérations de base de données

Les opérations suivantes illustrent l'utilisation de MySQL dans Go :

  • Sélectionnez un seul rangée :
var cb SomeThing
err := con.QueryRow("select ...").Scan(&cb.Mdpr, &cb.X, &cb.Y, &cb.Z)
Copier après la connexion
  • Sélectionner plusieurs lignes dans une tranche :
var items []*SomeStruct
for rows.Next() {
    err = rows.Scan(&ida, &idb)
    items = append(items, &SomeStruct{ida, idb})
}
Copier après la connexion
  • Insérer un enregistrement :
_, err = con.Exec("insert into ...")
Copier après la connexion

L'intégration MySQL dans Go est très efficace et fiable, offrant un fonctionnement stable pendant des périodes prolongées. La flexibilité de l'API base de données/sql permet un changement de pilote transparent sans perturber la logique de l'application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal