So rufen Sie Golang TiDB auf

WBOY
Freigeben: 2023-05-13 10:24:07
Original
684 Leute haben es durchsucht

Vorwort

Mit der kontinuierlichen Entwicklung der Internetbranche haben sich viele Änderungen in den Datenverarbeitungsmethoden ergeben. Herkömmliche relationale Datenbanken können dem hohen gleichzeitigen Lesen und Schreiben großer Datenmengen sowie den hohen Verfügbarkeitsanforderungen nicht mehr standhalten und werden nach und nach durch verteilte Datenbanken ersetzt. TiDB ist eine verteilte NewSQL-Datenbank, die von PingCAP bereitgestellt wird. Sie ist vollständig kompatibel mit dem MySQL-Protokoll, hochverfügbar und skalierbar. Sie wird häufig im Internet, im Finanzwesen, im E-Commerce und in anderen Bereichen eingesetzt.

Bei der Verwendung von TiDB ist Golang eine häufig verwendete Programmiersprache. Sie bietet eine Fülle von Bibliotheken von Drittanbietern und präzise Syntaxfunktionen. In Verbindung mit TiDB können damit Datenverarbeitungsaufgaben effizient und zuverlässig ausgeführt werden. In diesem Artikel wird hauptsächlich als Referenz für Entwickler beschrieben, wie TiDB in Golang aufgerufen wird.

Vorbereitung

Bevor Sie TiDB aufrufen, müssen Sie die folgenden Vorbereitungen treffen:

1. Installieren Sie TiDB

Laden Sie das Binärpaket von TiDB auf der offiziellen Website herunter und entpacken Sie es in ein lokales Verzeichnis.

2. TiDB-Datenbank erstellen

Verwenden Sie nach dem lokalen Starten den MySQL-Client, um eine Verbindung zu TiDB herzustellen. Nachdem die Verbindung erfolgreich war, erstellen Sie eine Testtabelle:

CREATE DATABASE test;
USE test;
CREATE TABLE user (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(20) NOT NULL,
  age INT(3) NOT NULL,
  PRIMARY KEY (id)
);
INSERT INTO user(name, age) VALUES('Tom', 20);
Nach dem Login kopieren

3 . Installieren Sie Golang

Laden Sie das Golang-Binärpaket von der offiziellen Website herunter und installieren Sie es gemäß der offiziellen Dokumentation. Legen Sie nach Abschluss der Installation die Umgebungsvariablen fest und testen Sie, ob die Installation erfolgreich war.

Schreiben Sie den Code zum Aufrufen von TiDB

Nach Abschluss der oben genannten Vorbereitungen können Sie dann Golang-Code schreiben, um TiDB zur Datenverarbeitung aufzurufen. Nachfolgend finden Sie einen Beispielcode als Referenz für die Leser.

package main

import (
    "fmt"
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
)

func main() {
    // 定义连接字符串
    connStr := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=%s",
        "root", "", "127.0.0.1", 4000, "test", "utf8mb4")

    // 连接数据库
    db, err := sql.Open("mysql", connStr)
    if err != nil {
        fmt.Printf("链接数据库失败: %s
", err)
        return
    }
    defer db.Close()

    // 查询数据
    rows, err := db.Query("SELECT * FROM user")
    if err != nil {
        fmt.Printf("查询数据失败: %s
", err)
        return
    }
    defer rows.Close()

    // 循环读取数据
    for rows.Next() {
        var id int
        var name string
        var age int
        err := rows.Scan(&id, &name, &age)
        if err != nil {
            fmt.Printf("读取数据失败: %s
", err)
            continue
        }

        fmt.Printf("ID: %d, Name: %s, Age: %d
", id, name, age)
    }

    // 处理异常
    if err := rows.Err(); err != nil {
        fmt.Printf("处理异常失败: %s
", err)
        return
    }
}
Nach dem Login kopieren

Anhand des obigen Codes können wir die spezifischen Schritte zum Aufrufen von TiDB in Golang sehen:

1 Definieren Sie die Verbindungszeichenfolge

Bevor wir eine Verbindung zu TiDB herstellen, müssen wir zuerst die Verbindungszeichenfolge definieren. Dazu gehören Benutzername, Passwort, Hostname, Portnummer, Datenbankname, Zeichensatz und andere Informationen. Zu TiDB gibt es folgende Punkte zu beachten:

  • TiDB basiert auf dem MySQL-Protokoll und verwendet standardmäßig Port 4000.
  • TiDB unterstützt die Zeichensätze utf8mb4 und utf8mb4_unicode_ci, und utf8mb4 wird empfohlen.

2. Stellen Sie eine Verbindung zur Datenbank her.

Nachdem Sie die Verbindungszeichenfolge definiert haben, können Sie die Funktion sql.Open verwenden, um eine Verbindung zur Datenbank herzustellen. Diese Funktion gibt ein sql.DB-Objekt zurück, das einen Datenbankverbindungspool darstellt. Es ist zu beachten, dass der Verbindungspool hier bei Verwendung automatisch verwaltet wird und Entwickler die Close-Methode nicht explizit aufrufen müssen, um die Verbindung zu schließen.

3. Daten abfragen

Nach erfolgreicher Verbindung können Sie die Funktion db.Query verwenden, um SQL-Anweisungen auszuführen, am Beispiel der Abfrage von Daten. Diese Funktion gibt ein sql.Rows-Objekt zurück, das eine Abfrageergebnismenge darstellt. Es ist zu beachten, dass die Abfrageergebnismenge auch ein Verbindungspool ist und Entwickler die Close-Methode nicht explizit aufrufen müssen.

4. Schleife zum Lesen von Daten

Mit den oben genannten Funktionen rows.Next() und rows.Scan() kann jede Datenzeile in einer Schleife gelesen und in einer Variablen gespeichert werden. Die Funktion rows.Next() stellt hier dar, ob es einen nächsten Datensatz gibt, und die Funktion rows.Scan() stellt das Lesen des Spaltenwerts der aktuellen Zeile dar.

5. Umgang mit Ausnahmen

Bei der Verwendung von TiDB können viele Ausnahmen auftreten, z. B. Verbindungsfehler, Fehler in der Abfrageanweisung, Fehler beim Lesen von Daten in einer Schleife usw. Diese Ausnahmen müssen rechtzeitig behandelt werden, da sie sonst zu Systemabstürzen und anderen Problemen führen können.

Zusammenfassung

In diesem Artikel wird hauptsächlich beschrieben, wie TiDB für die Datenverarbeitung in Golang aufgerufen wird. Anhand des obigen Beispielcodes können wir sehen, dass TiDB effiziente und zuverlässige verteilte Datenverarbeitungsdienste bereitstellen kann und Golang als häufig verwendete Programmiersprache in Verbindung mit TiDB die Entwicklungseffizienz erheblich verbessern kann. Ich hoffe, dass dieser Artikel für die Mehrheit der Entwickler hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonSo rufen Sie Golang TiDB auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage