Maison  >  Article  >  base de données  >  Comment parcourir la base de données MySQL dans Golang

Comment parcourir la base de données MySQL dans Golang

王林
王林avant
2023-06-03 12:55:261145parcourir

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"
)

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. 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)
}

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)
    // 在此处可以对获取到的数据进行处理
}

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer