Maison  >  Article  >  développement back-end  >  Comment Golang traverse MySQL

Comment Golang traverse MySQL

WBOY
WBOYoriginal
2023-05-15 10:08:07808parcourir

Avec la quantité croissante de données, la base de données MySQL est devenue l'une des bases de données les plus couramment utilisées dans le développement d'applications modernes. Dans les applications, le traitement des données nécessite souvent de parcourir et de manipuler des données, ce qui nécessite l'utilisation d'un langage de programmation efficace. En tant que langage de programmation rapide, simple, fiable et open source, Golang est choisi par de plus en plus de développeurs pour écrire des applications.

Cet article présentera comment Golang parcourt la base de données MySQL et l'implémentation du code associé.

1. Connectez-vous à la base de données MySQL

Avant de commencer à parcourir la base de données MySQL, nous devons d'abord nous connecter à la base de données MySQL. Golang fournit le package database/sql à cet effet pour faciliter notre connexion à la base de données MySQL. Tout d'abord, nous devons présenter ce package :

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

Pour nous connecter à la base de données MySQL, nous devons spécifier l'adresse de connexion à la base de données, le nom de la base de données, le numéro de compte, le mot de passe et d'autres informations. L'exemple de code est le suivant :

db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/database_name")
if err != nil {
    fmt.Println("连接数据库出错:", err)
    return
}
defer db.Close()

Parmi eux, "mysql" est le nom du pilote, l'adresse de connexion est "127.0.0.1:3306", le nom de la base de données est "database_name" et le compte et le mot de passe sont "user". et "mot de passe".

Après la connexion à la base de données, nous devons fermer la connexion à la base de données à la fin de la fonction, ce qui peut être réalisé via l'instruction defer, comme indiqué dans le code ci-dessus.

2. Interroger les données

Après la connexion à la base de données MySQL, nous pouvons interroger la base de données. Dans Golang, il existe deux manières d'effectuer des opérations de requête : l'une consiste à utiliser la fonction de requête pour les requêtes à une seule ligne et l'autre consiste à utiliser la fonction queryRows pour les requêtes à plusieurs lignes.

  1. Requête sur une seule ligne

La requête sur une seule ligne fait référence à l'interrogation d'une ligne de données dans la table de base de données. L'exemple de code est le suivant :

row := db.QueryRow("SELECT * FROM table_name WHERE id=?", 1)
if err != nil {
    fmt.Println("查询出错:", err)
    return
}
var id int
var name string
var age int
var address string
err = row.Scan(&id, &name, &age, &address)
if err != nil {
    fmt.Println("查询结果获取失败:", err)
    return
}
fmt.Println(id, name, age, address)

Dans le code ci-dessus, nous utilisons la fonction QueryRow pour interroger, où "?" est un espace réservé, indiquant la valeur de la condition de requête, dans ce cas id=1. Le résultat de la requête renverra une ligne de données et nous pourrons obtenir la valeur de chaque champ via la fonction Scan. Enfin, affichez les résultats de la requête.

  1. Requête multi-lignes

La requête multi-lignes fait référence à l'interrogation de plusieurs lignes de données dans une table de base de données. L'exemple de code est le suivant :

rows, err := db.Query("SELECT * FROM table_name WHERE age > ?", 18)
if err != nil {
    fmt.Println("查询出错:", err)
    return
}
defer rows.Close()
for rows.Next() {
    var id int
    var name string
    var age int
    var address string
    err = rows.Scan(&id, &name, &age, &address)
    if err != nil {
        fmt.Println("查询结果获取失败:", err)
        return
    }
    fmt.Println(id, name, age, address)
}

Dans le code ci-dessus, nous utilisons la fonction Requête pour interroger, où "?" est un espace réservé indiquant la valeur de la condition de requête, dans ce cas, âge>18. Les résultats de la requête renverront plusieurs lignes de données. Nous pouvons parcourir chaque ligne de données via une boucle for, puis obtenir la valeur de chaque champ via la fonction Scan. Enfin, affichez les résultats de la requête.

3. Traverser les données MySQL

Après avoir interrogé les données dans la table de la base de données, nous pouvons parcourir et traiter les données via une boucle for. L'exemple de code est le suivant :

rows, err := db.Query("SELECT * FROM table_name")
if err != nil {
    fmt.Println("查询出错:", err)
    return
}
defer rows.Close()
for rows.Next() {
    var id int
    var name string
    var age int
    var address string
    err = rows.Scan(&id, &name, &age, &address)
    if err != nil {
        fmt.Println("查询结果获取失败:", err)
        return
    }
    fmt.Println(id, name, age, address)
    // 在此处可以对获取到的数据进行处理
}

Dans le code ci-dessus, nous utilisons d'abord la fonction Query pour interroger toutes les données de la table de la base de données, puis parcourons chaque ligne de données via une boucle for, puis obtenons la valeur de chaque champ via la fonction Scan, et enfin l'obtention des données est traitée. Une fois le traitement terminé, si vous n'avez plus besoin d'utiliser les résultats de la requête, n'oubliez pas d'utiliser la fonction Fermer pour fermer les résultats de la requête.

4. Résumé

Grâce à l'introduction ci-dessus, nous pouvons voir que les opérations de connexion et de requête de Golang pour MySQL sont très simples. Avec seulement quelques lignes de code, nous pouvons nous connecter à la base de données MySQL, interroger et parcourir les données qu'elle contient. Pendant le processus de développement du programme, cela réduira considérablement notre charge de travail et améliorera l'efficacité du développement. Par conséquent, Golang devient progressivement l’un des langages de programmation préférés de la plupart des développeurs.

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