Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in den Golang-MySQL-Betrieb

Einführung in den Golang-MySQL-Betrieb

尚
nach vorne
2020-02-26 17:39:252996Durchsuche

Go (auch bekannt als Golang) ist eine von Google entwickelte statisch stark typisierte, kompilierte, gleichzeitige Programmiersprache mit Garbage-Collection-Funktionen. Im Folgenden werde ich einige Vorgänge zu MySQL aus der Spalte Go Getting Started Tutorial vorstellen.

Einführung in den Golang-MySQL-Betrieb

go betreibt die MySQL-Datenbank. Die verwendete Bibliothek ist go-sql-driver/mysql. Direkt installieren: go get

sql.DB

Die für den DB-Typ verfügbaren Funktionen sind:

1. Query(c string, args interface{}…) (*Zeilen, Fehler), häufig in SELECT-Anweisungen verwendet

2. Exec(c string, args interface{}…) (*Zeilen, Fehler), häufig verwendet mit UPDATE und INSERT

3. Prepare(c string) (*Stmt, error), andere Auch Anweisungen können verwendet werden, um die obige Anweisung auszuführen und den Stmt-Zeiger zurückzugeben

sql.Stmt

Stmt ist eine vorbereitete Anweisung, die Datenbankanweisungsoperationen ausführen kann Funktionen sind:

Exec(args interface{} …) (Ergebnis, Fehler), gibt Parameter an, führt die vorbereitete Anweisung aus und gibt dann das Gesamtergebnis der Anweisung zurück

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

Query(args interface{} …) ( *Rows, error), gibt Parameter an und führt die vorbereitete Anweisung aus, wobei die Zeilenergebnisse zurückgegeben werden. Beispielsweise muss die SELECT-Operation mit dieser Funktion aufgerufen werden.

sql.Rows

Rows ist die von der SQL-Anweisung zurückgegebene Tabelle. In Rows.Next() wird sie zurückgegeben wird automatisch freigegeben.

Schauen Sie sich den Quellcode an:

//...
	stmt, err := db.Perpare("INSERT INTO User(user,pwd) VALUES (?, ?)")
	if err != nil {
		panic(err)
	}
	defer stmt.Close()
	_, err := stmt.Exec("laoli", "123456")
	if err != nil {
		panic(err)
	}
//...
//...
	stmt, err := db.Perpare("DELETE FROM User")
	if err != nil {
		panic(err)
	}
	defer stmt.Close()
	_, err := stmt.Exec()
	if err != nil {
		panic(err)
	}

Beispiel:

// 源码
func (rs *Rows) Next() bool {
	var doClose, ok bool
	withLock(rs.closemu.RLocker(), func() {
		doClose, ok = rs.nextLocked()
	})
	if doClose {
		rs.Close() //在这里释放掉了
	}
	return ok
}

Für weitere Go-Sprachkenntnisse beachten Sie bitte die Spalte

Go-Sprach-Tutorial im PHP-Chinesisch Webseite.

Das obige ist der detaillierte Inhalt vonEinführung in den Golang-MySQL-Betrieb. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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