Heim  >  Artikel  >  Datenbank  >  So durchqueren Sie die MySQL-Datenbank in Golang

So durchqueren Sie die MySQL-Datenbank in Golang

王林
王林nach vorne
2023-06-03 12:55:261146Durchsuche

1. Verbindung zur MySQL-Datenbank herstellen

Bevor wir die MySQL-Datenbank durchqueren, müssen wir zunächst eine Verbindung mit der MySQL-Datenbank herstellen. Golang stellt das Datenbank-/SQL-Paket zur Verfügung, um die Verbindung zur MySQL-Datenbank bequemer zu gestalten. Zuerst müssen wir dieses Paket einführen:

import (
    "database/sql"
    "fmt"
    _ "github.com/go-sql-driver/mysql"
)

Um eine Verbindung zur MySQL-Datenbank herzustellen, müssen wir die Datenbankverbindungsadresse, den Datenbanknamen, die Kontonummer, das Passwort und andere Informationen angeben. Der Beispielcode lautet wie folgt:

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

Darunter ist „mysql“ der Treibername, die Verbindungsadresse ist „127.0.0.1:3306“, der Datenbankname ist „database_name“ und das Konto und das Passwort sind „user“ und „Passwort“.

Nachdem wir eine Verbindung zur Datenbank hergestellt haben, müssen wir die Datenbankverbindung am Ende der Funktion schließen. Dies kann durch die Defer-Anweisung erreicht werden, wie im obigen Code gezeigt.

2. Daten abfragen

Nachdem wir eine Verbindung zur MySQL-Datenbank hergestellt haben, können wir die Datenbank abfragen. In Golang gibt es zwei Möglichkeiten, Abfragevorgänge durchzuführen: Eine besteht darin, die Abfragefunktion für einzeilige Abfragen zu verwenden, und die andere darin, die queryRows-Funktion für mehrzeilige Abfragen zu verwenden.

  1. Einzelzeilenabfrage

Einzelzeilenabfrage bezieht sich auf die Abfrage einer Datenzeile in der Datenbanktabelle. Der Beispielcode lautet wie folgt:

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)

Im obigen Code verwenden wir die QueryRow-Funktion zur Abfrage, wobei „?“ ein Platzhalter ist, der den Wert der Abfragebedingung angibt, in diesem Fall id=1. Wir können die Scan-Funktion verwenden, um den Wert jedes Felds abzurufen und eine Datenzeile aus den Abfrageergebnissen zurückzugeben. Geben Sie abschließend die Abfrageergebnisse aus.

  1. Mehrzeilenabfrage

Mehrzeilenabfrage bezieht sich auf die Abfrage mehrerer Datenzeilen in einer Datenbanktabelle. Der Beispielcode lautet wie folgt:

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

Im obigen Code verwenden wir die Abfragefunktion, wobei „?“ ein Platzhalter ist, der den Wert der Abfragebedingung angibt, in diesem Fall Alter>18. Sie können eine for-Schleife verwenden, um mehrere Datenzeilen in den Abfrageergebnissen zu durchlaufen, und die Scan-Funktion verwenden, um den Wert jedes Felds abzurufen. Geben Sie abschließend die Abfrageergebnisse aus.

3. MySQL-Daten durchqueren

Nachdem wir die Daten in der Datenbanktabelle abgefragt haben, können wir die Daten durch eine for-Schleife durchlaufen und verarbeiten. Der Beispielcode lautet wie folgt:

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

Im obigen Code verwenden wir zunächst die Abfragefunktion, um alle Daten in der Datenbanktabelle abzufragen, durchlaufen dann jede Datenzeile durch eine for-Schleife und erhalten dann den Wert jedes Felds Die Scan-Funktion wird verarbeitet und schließlich werden die Daten abgerufen. Denken Sie daran, die Abfrageergebnisse mit der Funktion „Schließen“ zu schließen. Sobald die Verarbeitung abgeschlossen ist, werden die Abfrageergebnisse nicht mehr benötigt.

Das obige ist der detaillierte Inhalt vonSo durchqueren Sie die MySQL-Datenbank in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen