Maison > base de données > tutoriel mysql > Comment interroger des données MySQL en langage Go

Comment interroger des données MySQL en langage Go

PHPz
Libérer: 2023-06-03 08:22:24
avant
1108 Les gens l'ont consulté

Pour utiliser le pilote MySQL, nous devons l'installer dans notre projet Go via la commande suivante :

go get github.com/go-sql-driver/mysql
Copier après la connexion

Une fois l'installation terminée, nous devons l'importer dans le projet Golang :

import "github.com/go-sql-driver/mysql"
Copier après la connexion

Ensuite, nous besoin de configurer avec la connexion à la base de données MySQL. Voici l'exemple de code qui permettra de se connecter à une base de données nommée "mydatabase" :

db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/mydatabase")
if err != nil {
    log.Fatal(err)
}
defer db.Close()
Copier après la connexion

Notez que dans la chaîne de connexion, nous précisons le port du serveur MySQL, qui est 3306 par défaut.

Après avoir établi avec succès une connexion avec la base de données MySQL, nous pouvons lancer la requête de données. Vous trouverez ci-dessous un exemple simple qui récupère les enregistrements de tous les utilisateurs dans la table nommée "users"

rows, err := db.Query("SELECT * FROM users")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()

for rows.Next() {
    var id int
    var name string
    var email string
    err = rows.Scan(&id, &name, &email)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(id, name, email)
}

err = rows.Err()
if err != nil {
    log.Fatal(err)
}
Copier après la connexion

Nous avons adopté la fonction db.Query pour exécuter la requête SQL, comme le montre l'exemple ci-dessus. Cette fonction renverra un objet Rows contenant toutes les lignes des résultats de la requête.

Ensuite, nous utilisons une boucle for pour parcourir toutes les lignes et utilisons la fonction rows.Scan pour lire les valeurs des colonnes ligne par ligne. Enfin, nous vérifions les erreurs dans les résultats de requête.

Bien sûr, nous pouvons également utiliser des requêtes paramétrées pour interroger les données de manière plus sûre. Les requêtes paramétrées empêchent les attaques par injection SQL. Voici un exemple d'extrait de code qui utilise une requête paramétrée pour récupérer les enregistrements utilisateur nommés "john" :

rows, err := db.Query("SELECT * FROM users WHERE name = ?", "john")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()

for rows.Next() {
    var id int
    var name string
    var email string
    err = rows.Scan(&id, &name, &email)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(id, name, email)
}

err = rows.Err()
if err != nil {
    log.Fatal(err)
}
Copier après la connexion

Dans l'exemple ci-dessus, nous avons utilisé l'espace réservé "?" dans la chaîne de requête et dans les paramètres de la fonction Query. vous souhaitez faire correspondre est transmis.

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!

Étiquettes associées:
source:yisu.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal