Maison > développement back-end > Golang > Comment appeler Golang TiDB

Comment appeler Golang TiDB

WBOY
Libérer: 2023-05-13 10:24:07
original
719 Les gens l'ont consulté

Avant-propos

Avec le développement continu de l'industrie Internet, de nombreux changements ont eu lieu dans les méthodes de traitement des données. Les bases de données relationnelles traditionnelles ne supportent plus les lectures et écritures simultanées élevées de données massives, ainsi que les exigences de haute disponibilité, et sont progressivement remplacées par des bases de données distribuées. TiDB est une base de données NewSQL distribuée fournie par PingCAP. Elle est entièrement compatible avec le protocole MySQL, distribuée, hautement disponible et évolutive. Elle est largement utilisée dans l'Internet, la finance, le commerce électronique et d'autres domaines.

Dans le processus d'utilisation de TiDB, Golang est un langage de programmation couramment utilisé. Il fournit une multitude de bibliothèques tierces et de fonctionnalités de syntaxe concises, lorsqu'il est utilisé conjointement avec TiDB, il peut effectuer des tâches de traitement de données efficaces et fiables. Cet article présente principalement comment appeler TiDB dans Golang pour la référence des développeurs.

Préparation

Avant de commencer à appeler TiDB, vous devez effectuer les préparations suivantes :

1 Installez TiDB

Téléchargez le package binaire de TiDB sur le site officiel et décompressez-le dans un répertoire local.

2. Créer une base de données TiDB

Après avoir démarré TiDB localement, utilisez le client MySQL pour vous connecter à TiDB. Une fois la connexion réussie, utilisez les instructions SQL pour créer une table de test :

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);
Copier après la connexion

3. . Installez Golang

Téléchargez le package binaire Golang depuis le site officiel et installez-le conformément à la documentation officielle. Une fois l'installation terminée, définissez les variables d'environnement et testez si l'installation a réussi.

Écrivez le code pour appeler TiDB

Après avoir terminé les préparatifs ci-dessus, vous pouvez ensuite écrire du code Golang pour appeler TiDB pour le traitement des données. Un exemple de code est fourni ci-dessous pour référence aux lecteurs.

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
    }
}
Copier après la connexion

En nous référant au code ci-dessus, nous pouvons voir les étapes spécifiques pour appeler TiDB dans Golang :

1 Définir la chaîne de connexion

Avant de nous connecter à TiDB, nous devons d'abord définir la chaîne de connexion. Cela inclut le nom d'utilisateur, le mot de passe, le nom d'hôte, le numéro de port, le nom de la base de données, le jeu de caractères et d'autres informations. Il y a les points suivants à noter à propos de TiDB :

  • TiDB est basé sur le protocole MySQL et utilise le port 4000 par défaut.
  • TiDB prend en charge les jeux de caractères utf8mb4 et utf8mb4_unicode_ci, et utf8mb4 est recommandé.

2. Connectez-vous à la base de données

Après avoir défini la chaîne de connexion, vous pouvez utiliser la fonction sql.Open pour vous connecter à la base de données. Cette fonction renvoie un objet sql.DB représentant un pool de connexions à la base de données. Il convient de noter que le pool de connexions ici est automatiquement géré lorsqu'il est utilisé et que les développeurs n'ont pas besoin d'appeler explicitement la méthode Close pour fermer la connexion.

3. Interroger les données

Une fois la connexion réussie, vous pouvez utiliser la fonction db.Query pour exécuter des instructions SQL, en prenant l'interrogation de données comme exemple. Cette fonction renvoie un objet sql.Rows représentant un jeu de résultats de requête. Il convient de noter que le jeu de résultats de la requête est également un pool de connexions et que les développeurs n'ont pas besoin d'appeler explicitement la méthode Close.

4. Boucle pour lire les données

Grâce aux fonctions rows.Next() et rows.Scan() ci-dessus, chaque ligne de données peut être lue dans une boucle et stockée dans une variable. La fonction rows.Next() représente ici s'il existe un prochain enregistrement, et la fonction rows.Scan() représente la lecture de la valeur de colonne de la ligne actuelle.

5. Gestion des exceptions

Dans le processus d'utilisation de TiDB, de nombreuses exceptions peuvent survenir, telles qu'un échec de connexion, une erreur d'instruction de requête, un échec de lecture de données en boucle, etc. Ces exceptions doivent être traitées à temps, sinon elles peuvent provoquer des pannes du système et d'autres problèmes.

Résumé

Cet article présente principalement comment appeler TiDB pour le traitement des données dans Golang. Grâce à l'exemple de code ci-dessus, nous pouvons voir que TiDB peut fournir des services de traitement de données distribués efficaces et fiables, et Golang, en tant que langage de programmation couramment utilisé, peut considérablement améliorer l'efficacité du développement lorsqu'il est utilisé conjointement avec TiDB. J'espère que cet article sera utile à la majorité des développeurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal