Maison > base de données > tutoriel mysql > le corps du texte

Comment parcourir la base de données MySQL dans Golang

王林
Libérer: 2023-06-03 12:55:26
avant
1198 Les gens l'ont consulté

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

Avant de parcourir la base de données MySQL, nous devons d'abord établir une connexion avec la base de données MySQL. Golang fournit le package database/sql pour rendre la connexion à la base de données MySQL plus pratique. Tout d'abord, nous devons introduire ce package :

import (
    "database/sql"
    "fmt"
    _ "github.com/go-sql-driver/mysql"
)
Copier après la connexion

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

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

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. Nous pouvons utiliser la fonction Scan pour obtenir la valeur de chaque champ et renvoyer une ligne de données à partir des résultats de la requête. 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)
}
Copier après la connexion

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. Vous pouvez utiliser une boucle for pour parcourir plusieurs lignes de données dans les résultats de la requête et utiliser la fonction Scan pour obtenir la valeur de chaque champ. 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)
    // 在此处可以对获取到的数据进行处理
}
Copier après la connexion

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. N'oubliez pas d'utiliser la fonction Close pour fermer les résultats de la requête. Une fois le traitement terminé, les résultats de la requête ne sont plus nécessaires.

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