Maison  >  Article  >  développement back-end  >  Comment compter le nombre de lignes dans une table de base de données avec Go ?

Comment compter le nombre de lignes dans une table de base de données avec Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-04 22:15:02465parcourir

How to Count the Number of Rows in a Database Table with Go?

Compter le nombre de lignes dans Go : un guide étape par étape

Compter le nombre de lignes dans une table de base de données à l'aide de Go est une tâche courante dans le développement Web et le traitement des données. Voici comment y parvenir efficacement :

1. Initialiser la variable pour le nombre

Déclarez une variable pour stocker le nombre de lignes, généralement un entier nommé count.

2. Interroger la base de données (Option 1 : Requête)

Utilisez la fonction db.Query pour exécuter une instruction SQL qui compte les lignes d'une table. L'instruction doit être SELECT COUNT(*) FROM .

3. Lire la ligne et attribuer le nombre

Après avoir exécuté la requête, utilisez une boucle pour lire chaque ligne renvoyée par la base de données. Dans la boucle, utilisez la fonction Scan pour attribuer la valeur de la colonne de comptage à la variable de comptage.

4. Interroger la base de données (Option 2 : QueryRow)

Si vous prévoyez de récupérer une seule ligne, vous pouvez utiliser la fonction db.QueryRow à la place. Cela simplifie le processus car il lit la seule ligne sans avoir besoin de boucles.

5. Imprimez le nombre

Enfin, utilisez fmt.Printf pour afficher la variable de nombre sous forme de chaîne lisible.

Exemple 1 (requête)

package main

import (
    "database/sql"
    "fmt"
    "log"

    _ "github.com/go-sql-driver/mysql"
)

func main() {
    db, err := sql.Open("mysql", "user:password@tcp(host:port)/database")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    count := 0

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

    for rows.Next() {
        if err := rows.Scan(&count); err != nil {
            log.Fatal(err)
        }
    }

    fmt.Printf("Number of rows: %d\n", count)
}

Exemple 2 (QueryRow)

package main

import (
    "database/sql"
    "fmt"
    "log"

    _ "github.com/go-sql-driver/mysql"
)

func main() {
    db, err := sql.Open("mysql", "user:password@tcp(host:port)/database")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    var count int

    err = db.QueryRow("SELECT COUNT(*) FROM main_table").Scan(&count)
    switch {
    case err != nil:
        log.Fatal(err)
    default:
        fmt.Printf("Number of rows: %d\n", count)
    }
}

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