Implementierungscode zum Betreiben einer MySQL-Datenbank in Golang

Implementierungscode zum Betreiben einer MySQL-Datenbank in Golang

Vorwort

Golang stellt das Datenbank-/SQL-Paket für den Zugriff auf SQL-Datenbanken bereit. Als Einstiegsobjekt für den Betrieb der Datenbank bietet uns sql.DB hauptsächlich zwei wichtige Funktionen:

•sql.DB bietet uns die Möglichkeit, das Öffnen und Schließen zugrunde liegender Datenbankverbindungen über den Datenbanktreiber zu verwalten.

•sql.DB verwaltet den Datenbankverbindungspool für uns

Es ist zu beachten, dass sql.DB kein Datenbankverbindungsobjekt, sondern eine abstrakte Zugriffsschnittstelle zum Bedienen der Datenbank darstellt; es kann Datenbankverbindungen öffnen und schließen sowie Verbindungspools basierend auf dem Treiber verwalten. Die verwendete Verbindung wird als belegt markiert und kehrt nach der Verwendung in den Verbindungspool zurück, um auf die nächste Verwendung zu warten. Wenn Sie die Verbindung nicht wieder zum Verbindungspool freigeben, führt dies daher dazu, dass zu viele Verbindungen die Systemressourcen erschöpfen.

Einführung in den MySQL-Betrieb mit Golang

Das Gefühl, MySQL-Datenbanken in Golang zu betreiben, ähnelt ein wenig dem Betrieb von MySQL in PDO in PHP. Wenn Sie ursprünglich ein PHPer sind, werden Sie den Wechsel zu Golang sehr vertraut finden. Das Gesamtgefühl ist sehr einfach

Hinweise zum Betrieb von MySQL durch Golang

Golang implementiert die Standardbibliothek für MySQL-Operationen, implementiert jedoch nicht den MySQL-Treiber

Daher müssen wir zuerst das Treiberpaket go-sql-driver von github herunterladen (es wird empfohlen, es im src-Verzeichnis auszuführen). Der Befehl lautet wie folgt:

Gehen Sie zu github.com/go-sql-driver/mysql

So erstellen Sie ein Tabellenfeld in der Testdatenbank

Tabelle erstellen, wenn nicht vorhanden `test`.`user` (
 `user_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Benutzer-ID',
 `user_name` VARCHAR(45) NOT NULL COMMENT 'Benutzername',
 `user_age` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Benutzeralter',
 `user_sex` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Benutzergeschlecht',
 PRIMÄRSCHLÜSSEL (`user_id`))
 ENGINE = InnoDB
 AUTO_INCREMENT = 1
 STANDARDZEICHENSATZ = utf8
 COLLATE = utf8_general_ci
 COMMENT = 'Benutzertabelle'

Implementieren des Einfügevorgangs für Daten

Paket Haupt
importieren (
 "fmt"
 "Datenbank/SQL"
 //MySQL-Treiber importieren_"github.com/go-sql-driver/mysql" 
)
Funktion main(){
 //Verwenden Sie „Open“ im Paket „database/sql“, um eine Verbindung zur Datenbank „db“ herzustellen, err := sql.Open("mysql","root:root@tcp(localhost:3306)/test?charset=utf8")
 wenn err != nil {
 fmt.Println("Verbindung zur Datenbank konnte nicht hergestellt werden:", err)
 zurückkehren 
 }
 //Verwenden Sie die DB-Strukturinstanzmethode Prepare, um den Einfügevorgang vorzuverarbeiten. Prepare gibt ein stmt-Objekt zurück stmt, err := db.Prepare("insert into `user`(user_name,user_age,user_sex)values(?,?,?)")
 wenn err!=nil{
 fmt.Println("Vorverarbeitung fehlgeschlagen:",err)
 zurückkehren  
 }
 //Verwenden Sie das Stmt-Objekt, um die Vorverarbeitungsparameter result,err := stmt.Exec("pengjin",33,"男") auszuführen.
 wenn err!=nil{
 fmt.Println("Vorverarbeitung konnte nicht ausgeführt werden:", err)
 zurückkehren  
 }anders{
 Zeilen,_ := Ergebnis.Betroffene Zeilen()
 fmt.Println("Ausführung erfolgreich, Anzahl der betroffenen Zeilen", Zeilen,"Zeilen")
 }
}

Der obige Code vermittelt ein Gefühl für die Ausführung von pdo in PHP. Tatsächlich kann der obige Code auch direkt über die Exec-Methode der Stmt-Instanz implementiert werden, ohne dass die Prepare-Methode geschrieben werden muss.

Zusammenfassen

Oben ist der vom Herausgeber eingeführte Implementierungscode für den Betrieb einer MySQL-Datenbank in Golang. Ich hoffe, er ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Golang stellt über einen SSH-Proxy eine Verbindung zu MySQL her
  • Herstellen einer Verbindung zur MySQL-Datenbank in Golang
  • Führen Sie die Schritte von Golang aus, um eine MySql-Datenbank zu betreiben
  • So betreiben Sie MySQL in Golang
  • So implementieren Sie eine MySQL-Datenbanksicherung in Golang
  • Der Golang-Vorgang stellt eine Verbindung zur Datenbank her, um ein MySQL-Transaktionsbeispiel zu implementieren

<<:  Verwenden des JS-Timers zum Verschieben von Elementen

>>:  Ein Protokoll einer Notfallreaktion nach einem Einbruch in einen Linux-Server (Zusammenfassung)

Artikel empfehlen

So erstellen Sie einen NFS-Dienst in Ubuntu 16.04

Einführung in NFS NFS (Network File System) ist e...

Verwendung des Linux-Befehls tr

1. Einleitung tr wird verwendet, um einen Textabs...

Detaillierte Analyse der MySQL-Optimierung von like und = Leistung

Einführung Die meisten Leute, die schon einmal Da...

MYSQL METADATA LOCK (MDL LOCK) Theorie und Sperrtyptest

Inhaltsverzeichnis MYSQL METADATA LOCK (MDL LOCK)...

MySQL 8.0.12 Einfaches Installations-Tutorial

In diesem Artikel finden Sie das Installations-Tu...

Docker benennt den Imagenamen und die TAG-Operation um

Bei der Verwendung von Docker-Images können Image...

Detaillierte Erläuterung des MySQL MVCC-Mechanismusprinzips

Inhaltsverzeichnis Was ist MVCC Mysql-Sperre und ...

jQuery implementiert einen einfachen Kommentarbereich

In diesem Artikel wird der spezifische Code von j...

Was genau passiert im Hintergrund, wenn Sie eine URL eingeben?

Als Softwareentwickler müssen Sie über ein vollst...

Detaillierte Erklärung der Semiotik in Html/CSS

Basierend auf Theorien wie Saussures Sprachphilos...

Designtheorie: Menschenorientiertes Designkonzept

<br />Als sich das Denken in Ost und West sp...

MySQL-Backup-Tabellenvorgang basierend auf Java

Der Kern ist mysqldump und Runtime Der Vorgang is...