Maison > Article > développement back-end > Comment compter le nombre de lignes dans une table de base de données avec 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!