Heim  >  Artikel  >  Backend-Entwicklung  >  Lernen Sie Datenbankfunktionen in der Go-Sprache und implementieren Sie das Hinzufügen, Löschen, Ändern und Abfragen von MySQL-Daten

Lernen Sie Datenbankfunktionen in der Go-Sprache und implementieren Sie das Hinzufügen, Löschen, Ändern und Abfragen von MySQL-Daten

WBOY
WBOYOriginal
2023-07-30 15:45:191199Durchsuche

Lernen Sie die Datenbankfunktionen in der Go-Sprache und implementieren Sie das Hinzufügen, Löschen, Ändern und Abfragen von MySQL-Daten.

Die Go-Sprache ist eine effiziente, prägnante und hocheffiziente Programmiersprache, und die Datenbank ist ein wichtiges Werkzeug zum Speichern und Verwalten von Daten. In der Go-Sprache gibt es viele Datenbanktreiber, einer der am häufigsten verwendeten ist MySQL. In diesem Artikel wird das Erlernen von Datenbankfunktionen in der Go-Sprache vorgestellt und anhand von Codebeispielen gezeigt, wie Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge für MySQL-Daten implementiert werden.

Bevor wir mit dem Lernen beginnen, müssen wir sicherstellen, dass die Go-Sprache und MySQL installiert und der MySQL-Treiber importiert wurde. Sie können den folgenden Befehl verwenden, um den MySQL-Treiber zu installieren:

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

Als Nächstes erstellen wir eine Datenbank mit dem Namen „db_test“ und eine Datentabelle mit dem Namen „users“, um die Vorgänge zum Hinzufügen, Löschen, Ändern und Abfragen zu demonstrieren. Sie können den folgenden Code verwenden, um eine Datenbank und eine Datentabelle zu erstellen:

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

Führen Sie den obigen Code aus, um eine Datenbank mit dem Namen „db_test“ und eine Datentabelle mit dem Namen „users“ in MySQL zu erstellen.

Als nächstes implementieren wir die Vorgänge zum Hinzufügen, Löschen, Ändern und Überprüfen. Zuerst implementieren wir die Funktion zum Einfügen von Daten. Dies kann mit dem folgenden Code erreicht werden:

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

Als nächstes implementieren wir die Funktion zum Löschen von Daten. Dies kann mit dem folgenden Code erreicht werden:

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

Anschließend implementieren wir die Funktion zum Aktualisieren der Daten. Dies kann mit dem folgenden Code erreicht werden:

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

Abschließend implementieren wir die Funktion der Datenabfrage. Dies kann mit dem folgenden Code erreicht werden:

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

Jetzt können wir die oben genannten Funktionen in ein vollständiges Beispiel integrieren und es testen, wie unten gezeigt:

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

Führen Sie den obigen Code aus, um die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge zu realisieren von MySQL-Daten. Durch das Erlernen der Datenbankfunktionen in der Go-Sprache können wir MySQL-Daten problemlos bedienen und verschiedene funktionale Anforderungen realisieren. Ich glaube, dass die Leser durch die in diesem Artikel bereitgestellten Codebeispiele ein tieferes Verständnis und eine bessere Beherrschung der Verwendung der Go-Sprache und der MySQL-Datenbank erlangen können.

Das obige ist der detaillierte Inhalt vonLernen Sie Datenbankfunktionen in der Go-Sprache und implementieren Sie das Hinzufügen, Löschen, Ändern und Abfragen von MySQL-Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn