Maison  >  Article  >  développement back-end  >  Apprenez les fonctions de base de données en langage Go et implémentez les opérations d'ajout, de suppression, de modification et de requête des données MySQL.

Apprenez les fonctions de base de données en langage Go et implémentez les opérations d'ajout, de suppression, de modification et de requête des données MySQL.

WBOY
WBOYoriginal
2023-07-30 15:45:191195parcourir

Apprenez les fonctions de la base de données en langage Go et implémentez les opérations d'ajout, de suppression, de modification et de requête des données MySQL

Le langage Go est un langage de programmation efficace, concis et très efficace, et la base de données est un outil important pour stocker et gérer les données. Dans le langage Go, il existe de nombreux pilotes de base de données, l'un des plus couramment utilisés est MySQL. Cet article expliquera comment apprendre les fonctions de base de données en langage Go et utilisera des exemples de code pour montrer comment implémenter des opérations d'ajout, de suppression, de modification et de requête de données MySQL.

Avant de commencer à apprendre, nous devons nous assurer que le langage Go et MySQL ont été installés et que le pilote MySQL a été importé. Vous pouvez utiliser la commande suivante pour installer le pilote MySQL :

go get -u github.com/go-sql-driver/mysql

Ensuite, nous allons créer une base de données nommée "db_test" et une table de données nommée "users" pour démontrer les opérations d'ajout, de suppression, de modification et de requête. Vous pouvez utiliser le code suivant pour créer une base de données et une table de données :

package main

import (
    "database/sql"
    "fmt"

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

func main() {
    db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/")
    if err != nil {
        panic(err.Error())
    }

    defer db.Close()

    _, err = db.Exec("CREATE DATABASE IF NOT EXISTS db_test")
    if err != nil {
        panic(err.Error())
    }

    _, err = db.Exec("USE db_test")
    if err != nil {
        panic(err.Error())
    }

    _, err = db.Exec("CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20))")
    if err != nil {
        panic(err.Error())
    }

    fmt.Println("Database and table created successfully!")
}

Exécutez le code ci-dessus pour créer une base de données nommée "db_test" et une table de données nommée "users" dans MySQL.

Ensuite, nous mettrons en œuvre les opérations d'ajout, de suppression, de modification et de vérification. Tout d’abord, nous allons implémenter la fonction d’insertion de données. Ceci peut être réalisé en utilisant le code suivant :

func insertUser(db *sql.DB, name string) {
    stmt, err := db.Prepare("INSERT INTO users(name) VALUES(?)")
    if err != nil {
        panic(err.Error())
    }

    _, err = stmt.Exec(name)
    if err != nil {
        panic(err.Error())
    }

    fmt.Println("User inserted successfully!")
}

Ensuite, nous implémenterons la fonction de suppression de données. Cela peut être réalisé en utilisant le code suivant :

func deleteUser(db *sql.DB, id int) {
    stmt, err := db.Prepare("DELETE FROM users WHERE id = ?")
    if err != nil {
        panic(err.Error())
    }

    _, err = stmt.Exec(id)
    if err != nil {
        panic(err.Error())
    }

    fmt.Println("User deleted successfully!")
}

Ensuite, nous implémenterons la fonction de mise à jour des données. Cela peut être réalisé en utilisant le code suivant :

func updateUser(db *sql.DB, id int, name string) {
    stmt, err := db.Prepare("UPDATE users SET name = ? WHERE id = ?")
    if err != nil {
        panic(err.Error())
    }

    _, err = stmt.Exec(name, id)
    if err != nil {
        panic(err.Error())
    }

    fmt.Println("User updated successfully!")
}

Enfin, nous implémenterons la fonction d'interrogation des données. Ceci peut être réalisé en utilisant le code suivant :

func queryUsers(db *sql.DB) {
    rows, err := db.Query("SELECT * FROM users")
    if err != nil {
        panic(err.Error())
    }

    defer rows.Close()

    var id int
    var name string

    fmt.Println("Users:")
    for rows.Next() {
        err := rows.Scan(&id, &name)
        if err != nil {
            panic(err.Error())
        }

        fmt.Printf("ID: %d, Name: %s
", id, name)
    }
}

Maintenant, nous pouvons intégrer les fonctions ci-dessus dans un exemple complet et le tester, comme indiqué ci-dessous :

package main

import (
    "database/sql"
    "fmt"

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

func insertUser(db *sql.DB, name string) {
    stmt, err := db.Prepare("INSERT INTO users(name) VALUES(?)")
    if err != nil {
        panic(err.Error())
    }

    _, err = stmt.Exec(name)
    if err != nil {
        panic(err.Error())
    }

    fmt.Println("User inserted successfully!")
}

func deleteUser(db *sql.DB, id int) {
    stmt, err := db.Prepare("DELETE FROM users WHERE id = ?")
    if err != nil {
        panic(err.Error())
    }

    _, err = stmt.Exec(id)
    if err != nil {
        panic(err.Error())
    }

    fmt.Println("User deleted successfully!")
}

func updateUser(db *sql.DB, id int, name string) {
    stmt, err := db.Prepare("UPDATE users SET name = ? WHERE id = ?")
    if err != nil {
        panic(err.Error())
    }

    _, err = stmt.Exec(name, id)
    if err != nil {
        panic(err.Error())
    }

    fmt.Println("User updated successfully!")
}

func queryUsers(db *sql.DB) {
    rows, err := db.Query("SELECT * FROM users")
    if err != nil {
        panic(err.Error())
    }

    defer rows.Close()

    var id int
    var name string

    fmt.Println("Users:")
    for rows.Next() {
        err := rows.Scan(&id, &name)
        if err != nil {
            panic(err.Error())
        }

        fmt.Printf("ID: %d, Name: %s
", id, name)
    }
}

func main() {
    db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/db_test")
    if err != nil {
        panic(err.Error())
    }

    defer db.Close()

    insertUser(db, "Alice")
    insertUser(db, "Bob")
    insertUser(db, "Charlie")

    queryUsers(db)

    deleteUser(db, 2)

    queryUsers(db)

    updateUser(db, 1, "Alex")

    queryUsers(db)
}

Exécutez le code ci-dessus pour réaliser les opérations d'ajout, de suppression, de modification et de requête. de données MySQL. En apprenant les fonctions de la base de données dans le langage Go, nous pouvons facilement exploiter les données MySQL et répondre à diverses exigences fonctionnelles. Je pense que grâce aux exemples de code fournis dans cet article, les lecteurs peuvent avoir une compréhension et une maîtrise plus approfondies de l'utilisation du langage Go et de la base de données MySQL.

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