Heim Datenbank MySQL-Tutorial Verwenden Sie MySQL in der Go-Sprache, um eine nicht relationale Datenverarbeitung zu implementieren

Verwenden Sie MySQL in der Go-Sprache, um eine nicht relationale Datenverarbeitung zu implementieren

Jun 17, 2023 pm 08:08 PM
mysql go语言 非关系型数据处理

Mit der rasanten Entwicklung des Internets werden nicht-relationale Datenbanken (NoSQL) immer häufiger verwendet, und in der Go-Sprache gibt es auch einige nicht-relationale Möglichkeiten zur Datenverarbeitung. Für einige herkömmliche relationale Datenbanken wie MySQL können wir jedoch auch einige Techniken verwenden, um nicht relationale Datenverarbeitungsfunktionen zu implementieren.

In diesem Artikel werden die Methoden und Techniken zur Verwendung von MySQL zur Implementierung der nicht-relationalen Datenverarbeitung in der Go-Sprache vorgestellt, einschließlich der Erstellung und Gestaltung einer nicht-relationalen Tabelle, und anhand von Beispielen demonstriert, wie man liest, schreibt und erneuert. In diesem Prozess verwenden wir eine dieser Bibliotheken: github.com/go-sql-driver/mysql.

1. Erstellen Sie nicht relationale Tabellen.

MySQL-Datenbanken betrachten wir normalerweise als relationale Datenbank. Daher müssen wir die Tabellen entwerfen und die Beziehung zwischen den Tabellen aufrechterhalten. Manchmal müssen wir Daten jedoch in einer nicht relationalen Struktur speichern, beispielsweise im JSON-Format.

In MySQL können wir Felder vom Typ JSON verwenden, um nicht relationalen Speicher zu implementieren. Zum Beispiel erstellen wir eine Tabelle zum Speichern von Benutzerinformationen, die ein JSON-Typfeld „info“ zum Speichern der persönlichen Informationen des Benutzers enthält:

CREATE TABLE users (
   id INT(11) NOT NULL AUTO_INCREMENT,
   name VARCHAR(50) NOT NULL,
   info JSON NOT NULL,
   PRIMARY KEY (id)
);
Nach dem Login kopieren

Im obigen Code erstellen wir eine Tabelle mit dem Namen „Benutzer“. Sie enthält drei Felder: ID, Name und Informationen. Der Typ des Infofelds ist JSON, das zur Speicherung der persönlichen Daten des Benutzers verwendet wird. In praktischen Anwendungen können wir auch andere nicht relationale Typen wie BLOB, TEXT usw. verwenden.

2. Verwenden Sie die Go-Sprache, um eine Verbindung zur MySQL-Datenbank herzustellen.

Die Verbindung zur MySQL-Datenbank in der Go-Sprache erfordert die Verwendung einer Drittanbieter-Bibliothek. Die am häufigsten verwendete davon ist github.com/go-sql-driver/mysql. Zuerst müssen Sie diese Bibliothek installieren, die mit dem folgenden Befehl installiert werden kann:

go get github.com/go-sql-driver/mysql
Nach dem Login kopieren

Diese Bibliothek stellt einen sql.DB-Typ bereit, der für Datenbankverbindungen und -operationen verwendet werden kann. Bevor wir eine Verbindung zur Datenbank herstellen, müssen wir einige Konfigurationsinformationen wie folgt bereitstellen:

dsn := "root:password@(127.0.0.1:3306)/database_name?charset=utf8mb4&parseTime=True&loc=Local"
db, err := sql.Open("mysql", dsn)
if err != nil {
   panic(err)
}
defer db.Close()
Nach dem Login kopieren

dsn ist ein Datenquellenname, der zum Herstellen einer Verbindung zur Datenbank verwendet wird. Dazu gehören Benutzername, Passwort, Hostadresse, Portnummer, Datenbankname, Verschlüsselungsmethode und andere Informationen. Im obigen Code verwenden wir die lokale Hostadresse und die Standardportnummer 3306 und ersetzen Benutzername und Passwort durch die entsprechenden Werte. Wenn die Verbindung erfolgreich ist, enthält die Datenbankvariable einen Verweis auf die MySQL-Datenbank, mit der Sie eine Verbindung hergestellt haben.

3. Gehen Sie zur Sprache, um nicht relationale Daten zu lesen und zu schreiben.

Nachdem wir eine Verbindung zur MySQL-Datenbank hergestellt haben, können wir den Typ sql.DB verwenden, um SQL-Abfragen auszuführen und zugehörige Daten abzurufen. Für nicht relationale Daten können wir die JSON-Funktion von MySQL verwenden, um Felder vom Typ JSON zu lesen und zu schreiben.

  1. Nicht relationale Daten schreiben

Der folgende Code zeigt, wie neue Benutzerinformationen in die Benutzertabelle geschrieben werden:

info := `{
   "age": 23,
   "gender": "male",
   "email": "john@example.com"
}`
result, err := db.Exec("INSERT INTO users(name, info) VALUES(?, ?)", "John", info)
if err != nil {
   panic(err)
}
fmt.Printf("New user id: %d
", result.LastInsertId())
Nach dem Login kopieren

In diesem Beispiel definieren wir zunächst ein JSON-Zeichen, das eine Benutzerinformationszeichenfolge enthält. Anschließend verwenden wir die Exec-Funktion, um die Einfügeanweisung auszuführen und die Benutzerinformationen als Parameter an die SQL-Anweisung zu übergeben. Nachdem das Einfügen erfolgreich war, erhalten wir die ID des neuen Benutzers und geben sie aus.

  1. Lesen nicht-relationaler Daten

Als nächstes zeigen wir, wie man JSON-Daten liest, die in nicht-relationalen Feldern gespeichert sind. Verwenden Sie die JSON_EXTRACT-Funktion von MySQL, um einfach ein Schlüssel-Wert-Paar in JSON zu erhalten. Der folgende Code zeigt, wie alle Benutzerinformationen in der Benutzertabelle gelesen werden:

rows, err := db.Query("SELECT * FROM users")
if err != nil {
   panic(err)
}
defer rows.Close()

for rows.Next() {
   var id int
   var name string
   var info []byte
   err := rows.Scan(&id, &name, &info)
   if err != nil {
      panic(err)
   }
   var user map[string]interface{}
   err = json.Unmarshal(info, &user)
   if err != nil {
      panic(err)
   }
   fmt.Printf("ID: %d, Name: %s, Age: %f, Gender: %s, Email: %s
", id, name, user["age"], user["gender"], user["email"])
}
Nach dem Login kopieren

In diesem Beispiel verwenden wir zunächst die Funktion db.Query, um alle Daten in der Benutzertabelle abzufragen. Anschließend verwenden wir die Funktion rows.Scan, um die ID-, Namens- und Infofelder jeder Datenzeile zu lesen. Als nächstes konvertieren wir den Wert des Infofelds in eine Benutzervariable vom Typ „map[string]interface{}“ und verwenden zum Parsen die Funktion „json.Unmarshal“. Schließlich geben wir die ID, den Namen, das Alter, das Geschlecht und die E-Mail-Adresse jedes Benutzers aus.

  1. Aktualisierung nicht-relationaler Daten

Abschließend zeigen wir, wie man in nicht-relationalen Feldern gespeicherte Daten aktualisiert. Mit der JSON_SET-Funktion von MySQL kann ein Schlüssel-Wert-Paar in einem JSON-Feld dynamisch aktualisiert werden. Der folgende Code zeigt, wie die E-Mail-Adresse des Benutzers auf einen neuen Wert aktualisiert wird:

result, err := db.Exec("UPDATE users SET info=JSON_SET(info, '$.email', ?) WHERE name=?", "john_doe@example.com", "John")
if err != nil {
   panic(err)
}
rowsAffected, err := result.RowsAffected()
if err != nil {
   panic(err)
}
fmt.Printf("Rows affected: %d
", rowsAffected)
Nach dem Login kopieren

In diesem Beispiel verwenden wir die Exec-Funktion, um die Update-Anweisung auszuführen und die neue E-Mail-Adresse als Parameter an die JSON_SET-Funktion in der SQL-Anweisung zu übergeben . Wir verwenden die WHERE-Klausel, um den Namen des zu aktualisierenden Benutzers anzugeben. Nach erfolgreichem Update prüfen wir die Anzahl der betroffenen Zeilen und geben diese aus.

4. Zusammenfassung

In der Go-Sprache können wir eine MySQL-Datenbank verwenden, um nicht relationale Daten zu speichern. Durch die Verwendung von Feldern vom Typ JSON können wir Daten problemlos im JSON-Format speichern und verarbeiten. In diesem Artikel werden Methoden und Techniken zum Erstellen nicht relationaler Tabellen, zum Herstellen einer Verbindung zu MySQL-Datenbanken, zum Lesen und Schreiben nicht relationaler Daten sowie Beispiele für die Verwendung der Funktionen JSON_EXTRACT und JSON_SET für Datenoperationen vorgestellt. Sie können Ihnen dabei helfen, MySQL besser zur Verarbeitung nicht relationaler Daten in praktischen Anwendungen zu nutzen.

Das obige ist der detaillierte Inhalt vonVerwenden Sie MySQL in der Go-Sprache, um eine nicht relationale Datenverarbeitung zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Die Beziehung zwischen MySQL -Benutzer und Datenbank Die Beziehung zwischen MySQL -Benutzer und Datenbank Apr 08, 2025 pm 07:15 PM

In der MySQL -Datenbank wird die Beziehung zwischen dem Benutzer und der Datenbank durch Berechtigungen und Tabellen definiert. Der Benutzer verfügt über einen Benutzernamen und ein Passwort, um auf die Datenbank zuzugreifen. Die Berechtigungen werden über den Zuschussbefehl erteilt, während die Tabelle durch den Befehl create table erstellt wird. Um eine Beziehung zwischen einem Benutzer und einer Datenbank herzustellen, müssen Sie eine Datenbank erstellen, einen Benutzer erstellen und dann Berechtigungen erfüllen.

MySQL: Die einfache Datenverwaltung für Anfänger MySQL: Die einfache Datenverwaltung für Anfänger Apr 09, 2025 am 12:07 AM

MySQL ist für Anfänger geeignet, da es einfach zu installieren, leistungsfähig und einfach zu verwalten ist. 1. Einfache Installation und Konfiguration, geeignet für eine Vielzahl von Betriebssystemen. 2. Unterstützung grundlegender Vorgänge wie Erstellen von Datenbanken und Tabellen, Einfügen, Abfragen, Aktualisieren und Löschen von Daten. 3. Bereitstellung fortgeschrittener Funktionen wie Join Operations und Unterabfragen. 4. Die Leistung kann durch Indexierung, Abfrageoptimierung und Tabellenpartitionierung verbessert werden. 5. Backup-, Wiederherstellungs- und Sicherheitsmaßnahmen unterstützen, um die Datensicherheit und -konsistenz zu gewährleisten.

Kann ich das Datenbankkennwort in Navicat abrufen? Kann ich das Datenbankkennwort in Navicat abrufen? Apr 08, 2025 pm 09:51 PM

Navicat selbst speichert das Datenbankkennwort nicht und kann das verschlüsselte Passwort nur abrufen. Lösung: 1. Überprüfen Sie den Passwort -Manager. 2. Überprüfen Sie Navicats "Messnot Password" -Funktion; 3.. Setzen Sie das Datenbankkennwort zurück; 4. Kontaktieren Sie den Datenbankadministrator.

So erstellen Sie Navicat Premium So erstellen Sie Navicat Premium Apr 09, 2025 am 07:09 AM

Erstellen Sie eine Datenbank mit Navicat Premium: Stellen Sie eine Verbindung zum Datenbankserver her und geben Sie die Verbindungsparameter ein. Klicken Sie mit der rechten Maustaste auf den Server und wählen Sie Datenbank erstellen. Geben Sie den Namen der neuen Datenbank und den angegebenen Zeichensatz und die angegebene Kollektion ein. Stellen Sie eine Verbindung zur neuen Datenbank her und erstellen Sie die Tabelle im Objektbrowser. Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie Daten einfügen, um die Daten einzufügen.

Wie man MySQL sieht Wie man MySQL sieht Apr 08, 2025 pm 07:21 PM

Zeigen Sie die MySQL -Datenbank mit dem folgenden Befehl an: Verbindung zum Server: MySQL -U -Benutzername -P -Kennwort ausführen STEILE -Datenbanken; Befehl zum Abrufen aller vorhandenen Datenbanken auswählen Datenbank: Verwenden Sie den Datenbanknamen. Tabelle Ansicht: Tabellen anzeigen; Tabellenstruktur anzeigen: Beschreiben Sie den Tabellennamen; Daten anzeigen: Wählen Sie * aus Tabellenname;

So kopieren Sie Tabellen in MySQL So kopieren Sie Tabellen in MySQL Apr 08, 2025 pm 07:24 PM

Durch das Kopieren einer Tabelle in MySQL müssen neue Tabellen erstellt, Daten eingefügt, Fremdschlüssel festgelegt, Indizes, Auslöser, gespeicherte Verfahren und Funktionen kopiert werden. Zu den spezifischen Schritten gehören: Erstellen einer neuen Tabelle mit derselben Struktur. Fügen Sie Daten aus der ursprünglichen Tabelle in eine neue Tabelle ein. Legen Sie die gleiche fremde Schlüsselbeschränkung fest (wenn die Originaltabelle eine hat). Erstellen Sie den gleichen Index. Erstellen Sie denselben Auslöser (wenn die ursprüngliche Tabelle eine hat). Erstellen Sie dieselbe gespeicherte Prozedur oder Funktion (wenn die ursprüngliche Tabelle verwendet wird).

Wie kann ich das Datenbankkennwort in Navicat für Mariadb anzeigen? Wie kann ich das Datenbankkennwort in Navicat für Mariadb anzeigen? Apr 08, 2025 pm 09:18 PM

Navicat für MariADB kann das Datenbankkennwort nicht direkt anzeigen, da das Passwort in verschlüsselter Form gespeichert ist. Um die Datenbanksicherheit zu gewährleisten, gibt es drei Möglichkeiten, Ihr Passwort zurückzusetzen: Setzen Sie Ihr Passwort über Navicat zurück und legen Sie ein komplexes Kennwort fest. Zeigen Sie die Konfigurationsdatei an (nicht empfohlen, ein hohes Risiko). Verwenden Sie Systembefehlsleitungs -Tools (nicht empfohlen, Sie müssen die Befehlszeilen -Tools beherrschen).

Wie kopieren und fügen Sie MySQL ein und fügen Sie sie ein Wie kopieren und fügen Sie MySQL ein und fügen Sie sie ein Apr 08, 2025 pm 07:18 PM

Kopieren und einfügen in MySQL die folgenden Schritte: Wählen Sie die Daten aus, kopieren Sie mit Strg C (Windows) oder CMD C (MAC). Klicken Sie mit der rechten Maustaste auf den Zielort, wählen Sie ein Einfügen oder verwenden Sie Strg V (Windows) oder CMD V (MAC). Die kopierten Daten werden in den Zielort eingefügt oder ersetzen vorhandene Daten (je nachdem, ob die Daten bereits am Zielort vorhanden sind).

See all articles