1. Warum gespeicherte MySQL-Prozeduren verwenden
Gespeicherte MySQL-Prozeduren haben bei der Verwendung die folgenden Vorteile:
Sie können diesen Satz wie folgt umschreiben: Durch Ausführen gespeicherter Prozeduren auf der MySQL-Serverseite kann die Anwendung ausgeführt werden Verbesserte Programmleistung und Vermeidung der dynamischen Generierung von SQL-Anweisungen in der Anwendung. Dies kann den Overhead der Netzwerkkommunikation und den Datenbankdruck reduzieren.
Wartbarkeit und Wiederverwendbarkeit von Programmen: Gespeicherte Prozeduren können mehrmals aufgerufen und wiederverwendet werden, wodurch das wiederholte Schreiben derselben SQL-Anweisungen in der Anwendung vermieden wird, was die Wartbarkeit und Wiederverwendbarkeit von Programmen verbessert.
Datensicherheit: Gespeicherte Prozeduren können den Zugriffskontrollmechanismus von MySQL nutzen, um die Datensicherheit zu gewährleisten.
2. Verwenden Sie Golang, um gespeicherte MySQL-Prozeduren zu schreiben
Bevor wir Golang zum Schreiben gespeicherter MySQL-Prozeduren verwenden, müssen wir die grundlegende Struktur und Syntax der gespeicherten MySQL-Prozeduren verstehen.
Die Grundstruktur gespeicherter Prozeduren
MySQL-gespeicherte Prozeduren bestehen aus vier Komponenten: Header, Variablendeklaration, Hauptteil und Prozedurende. Der Kopf der Anweisung enthält den Namen der gespeicherten Prozedur und die Parameterdeklaration, während der Hauptteil die spezifische SQL-Anweisung und Programmlogik enthält.
Hier ist ein einfaches Beispiel für eine gespeicherte MySQL-Prozedur:
CREATE PROCEDURE `hello_world`() BEGIN SELECT 'Hello, world!'; END
Syntax gespeicherter Prozeduren
Die Syntax gespeicherter MySQL-Prozeduren unterscheidet sich geringfügig von gewöhnlichen SQL-Anweisungen. Das Folgende ist ein Syntaxbeispiel einer gespeicherten MySQL-Prozedur:
CREATE PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name data_type[(size)]) BEGIN -- procedure body END
Rufen Sie die gespeicherte MySQL-Prozedur in Golang auf
In Golang können wir den von Go-MySQL-Driver bereitgestellten MySQL-Treiber verwenden, um eine Verbindung zur MySQL-Datenbank herzustellen und Führen Sie die gespeicherte Prozedur aus. Das Folgende ist ein Beispiel dafür, wie Golang eine gespeicherte MySQL-Prozedur aufruft:
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)/test") if err != nil { panic(err.Error()) } defer db.Close() rows, err := db.Query("CALL hello_world()") if err != nil { panic(err.Error()) } defer rows.Close() var result string for rows.Next() { err := rows.Scan(&result) if err != nil { panic(err.Error()) } } fmt.Println(result) }
Wir haben zuerst mit der Funktion sql.Open() eine Verbindung zur MySQL-Datenbank hergestellt. Der obige Code beschreibt diesen Prozess. Dann können wir die Methode db.Query() verwenden, um die gespeicherte Prozedur aufzurufen, und dann die Methode db.Scan() verwenden, um die Abfrageergebnisse abzurufen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Golang zum Schreiben gespeicherter MySQL-Prozeduren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!