Maison > développement back-end > Golang > Comment choisir et utiliser le meilleur pilote Go MySQL pour l'interaction avec la base de données ?

Comment choisir et utiliser le meilleur pilote Go MySQL pour l'interaction avec la base de données ?

Mary-Kate Olsen
Libérer: 2024-12-18 17:52:14
original
908 Les gens l'ont consulté

How to Choose and Use the Best Go MySQL Driver for Database Interaction?

Connexion à MySQL depuis Go : un guide complet

Lors de l'accès aux bases de données MySQL à partir d'applications Go, il est essentiel de choisir un outil fiable et bien conducteur maintenu. L'API base de données/sql fournit une interface standardisée entre différents pilotes, ce qui facilite la commutation entre eux.

Pilotes recommandés

Deux pilotes très appréciés pour se connecter à MySQL à partir de Allez c'est :

  • MyMySQL (github.com/ziutek/mymysql/godrv) : ce pilote est rapide et gère efficacement des volumes de connexion élevés.
  • Go-MySQL-Driver (github.com/go-sql-driver /mysql) : Également connu pour sa vitesse et sa fiabilité, ce pilote a une base de code légèrement plus simple que MyMySQL.

Importation des pilotes

Pour importer le pilote choisi, incluez le code suivant dans votre fichier Go :

import (
    "database/sql"
    _ "github.com/ziutek/mymysql/godrv" // For MyMySQL
    // or
    _ "github.com/go-sql-driver/mysql" // For Go-MySQL-Driver
)
Copier après la connexion

Connexion et déconnexion

Utilisation MyMySQL :

con, err := sql.Open("mymysql", database+"/"+user+"/"+password)
defer con.Close()
Copier après la connexion

Utilisation du pilote Go-MySQL :

con, err := sql.Open("mysql", store.user+":"+store.password+"@/"+store.database)
defer con.Close()
Copier après la connexion

Opérations CRUD de base

Sélection d'un seul Ligne :

row := con.QueryRow("select mdpr, x, y, z from sometable where>
Copier après la connexion

Sélection de plusieurs lignes :

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})
}
Copier après la connexion

Insertion d'une ligne :

_, err = con.Exec("insert into tbl (id, mdpr, isok) values (?, ?, 1)", id, mdpr)
Copier après la connexion

Les pilotes MySQL de Go fournissent une API riche et efficace pour interagir avec les bases de données MySQL. En utilisant le package base de données/sql, vous pouvez supprimer l'implémentation spécifique du pilote, simplifier les modifications de code et améliorer la flexibilité de votre 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