Maison >développement back-end >Golang >affectation mysql requête golang

affectation mysql requête golang

王林
王林original
2023-05-14 19:12:08538parcourir

golang est un langage de programmation qui prend en charge la programmation simultanée, avec un mécanisme de récupération de place efficace et une vitesse de compilation rapide. Lors de l'écriture d'applications Web à l'aide de Golang, vous devez souvent interagir avec la base de données MySQL. Cet article explique comment utiliser Golang pour interroger MySQL et attribuer les résultats à des variables.

Tout d’abord, vous devez installer le pilote MySQL de Golang. Il existe actuellement deux pilotes MySQL couramment utilisés : go-sql-driver et mysql. Dans cet article, nous utiliserons go-sql-driver.

Pour installer go-sql-driver, vous pouvez utiliser la commande suivante :

go get -u github.com/go-sql-driver/mysql

Une fois l'installation terminée, importez le package mysql dans le code :

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

Ensuite, vous devez établir une connexion avec la base de données. Vous pouvez utiliser la fonction Open pour ouvrir une connexion à la base de données et la fonction Close pour fermer la connexion. Lors de l'ouverture d'une connexion, vous devez spécifier l'adresse de connexion à la base de données, le nom d'utilisateur, le mot de passe et le nom de la base de données.

db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/mydb")
if err != nil {
    panic(err.Error())
}
defer db.Close()

Ensuite, vous pouvez utiliser la fonction Requête pour interroger la base de données et attribuer les résultats de la requête à des variables. La fonction Query renvoie un objet de type Rows qui contient toutes les lignes des résultats de la requête. L'objet Rows fournit plusieurs méthodes pour parcourir les résultats de la requête, telles que Next, Scan et Columns.

var name string
var age int
err = db.QueryRow("SELECT name, age FROM users WHERE id = ?", 1).Scan(&name, &age)
if err != nil {
    panic(err.Error())
}

Dans le code ci-dessus, la fonction QueryRow est utilisée pour interroger la base de données. La fonction QueryRow renvoie une ligne de données, pas toutes les lignes correspondantes. La fonction Scan attribue à chaque valeur de colonne du résultat de la requête le nom et l'âge des variables qui viennent d'être déclarés.

Enfin, vous pouvez utiliser le package fmt pour afficher les résultats de l'affectation sur la console.

fmt.Printf("Name: %s
Age: %d
", name, age)

Le code complet est le suivant :

package main

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

func main() {
    db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/mydb")
    if err != nil {
        panic(err.Error())
    }
    defer db.Close()

    var name string
    var age int
    err = db.QueryRow("SELECT name, age FROM users WHERE id = ?", 1).Scan(&name, &age)
    if err != nil {
        panic(err.Error())
    }

    fmt.Printf("Name: %s
Age: %d
", name, age)
}

Ce qui précède explique comment utiliser Golang pour interroger MySQL et attribuer les résultats à des variables. En maîtrisant cette technologie, les développeurs peuvent gérer plus facilement les opérations de requête de base de données et améliorer l'efficacité et les performances des applications Web.

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!

Déclaration:
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