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

Wie wird eine SQL-Anweisung in MySQL ausgeführt?

Inhaltsverzeichnis 1. Analyse der MySQL-Architekt...

C# implementiert MySQL-Befehlszeilensicherung und -wiederherstellung

Es gibt viele Tools zum Sichern von MySQL-Datenba...

Sprechen Sie über wichtige Unterverzeichnisprobleme im Linux-System

/etc/fstab Partitionen/Festplatten automatisch mo...

Implementierung der Nginx-Konfiguration https

Inhaltsverzeichnis 1: Bereiten Sie das https-Zert...

Vue + Spring Boot realisiert die Bestätigungscodefunktion

In diesem Artikelbeispiel wird der spezifische Co...

Tutorial zum Bereitstellen von nginx+uwsgi in Django-Projekten unter Centos8

1. Virtuelle Umgebung virtualenv installieren 1. ...

Detaillierte Erklärung des DOM DIFF-Algorithmus in der React-Anwendung

Inhaltsverzeichnis Vorwort Was ist VirtualDOM? Gr...

Detaillierte Erklärung generischer Fälle in TypeScript

Definition von Generika // Anforderung 1: Generik...