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.
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.
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!