Maison  >  Article  >  base de données  >  Utiliser MySQL en langage Go pour obtenir une transmission de données fiable

Utiliser MySQL en langage Go pour obtenir une transmission de données fiable

王林
王林original
2023-06-17 11:25:371539parcourir

Avec le développement rapide de la technologie du big data et du cloud computing, la quantité de données augmente et le traitement et la transmission des données deviennent de plus en plus importants. La fiabilité est très importante lors de la transmission des données, car si un problème survient lors de la transmission des données, l'ensemble du système peut en souffrir. Par conséquent, la manière de parvenir à une transmission fiable des données est devenue une question très importante. Dans le langage Go, la transmission fiable des données peut être obtenue en utilisant la base de données MySQL.

MySQL est un système de gestion de base de données relationnelle populaire développé par Oracle Corporation. MySQL offre une disponibilité et une fiabilité élevées et peut prendre en charge des opérations de lecture et d'écriture de données hautement simultanées. Par conséquent, l’utilisation de MySQL pour le transfert de données est très fiable et rapide.

En langage Go, les étapes pour utiliser MySQL pour implémenter la transmission de données sont les suivantes :

  1. Connectez-vous à la base de données MySQL

En langage Go, vous pouvez facilement vous connecter à la base de données MySQL à l'aide du package Go-MySQL-Driver. Le package peut être installé via la commande go get. La commande d'installation est la suivante :

go get -u github.com/go-sql-driver/mysql

Après avoir importé le package dans le code, vous pouvez utiliser le code suivant pour vous connecter à la base de données MySQL :

db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/dbname")
if err != nil {
    log.Fatal(err)
}
defer db.Close()

où root est la base de données. le nom d'utilisateur et le mot de passe sont le mot de passe de la base de données, 127.0.0.1 est l'adresse de la base de données, 3306 est le numéro de port MySQL et dbname est le nom de la base de données.

  1. Création d'une table de base de données

Dans la base de données MySQL, vous devez d'abord créer une table pour stocker les données. La structure de la table peut être définie en fonction des besoins réels de l'entreprise, par exemple :

CREATE TABLE IF NOT EXISTS `data` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
    `time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `data` text NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

La table contient trois champs : id est l'identifiant auto-croissant, time est l'horodatage et data est les données stockées.

  1. Écriture et lecture de données

En langage Go, utilisez la méthode Exec() de l'objet sql.DB pour écrire des données dans la base de données MySQL.

stmt, err := db.Prepare("INSERT INTO data(time, data) VALUES(?, ?)")
if err != nil {
    log.Fatal(err)
}
defer stmt.Close()
res, err := stmt.Exec(time.Now(), "data")
if err != nil {
    log.Fatal(err)
}
id, err := res.LastInsertId()
if err != nil {
    log.Fatal(err)
}

Dans le code ci-dessus, une instruction SQL est d'abord construite à l'aide de la méthode Prepare(), puis l'instruction SQL est exécutée à l'aide de la méthode Exec() pour écrire les données dans la base de données. Après une exécution réussie, l'ID des données insérées peut être obtenu.

Lors de la lecture de données, vous pouvez utiliser la méthode Query() de l'objet sql.DB pour effectuer des opérations de requête.

rows, err := db.Query("SELECT * FROM data")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
    var id int
    var time time.Time
    var data string
    if err := rows.Scan(&id, &time, &data); err != nil {
        log.Fatal(err)
    }
    fmt.Println(id, time, data)
}
if err := rows.Err(); err != nil {
    log.Fatal(err)
}

Dans le code ci-dessus, la méthode Query() est d'abord utilisée pour effectuer l'opération de requête et obtenir un ensemble de résultats. Utilisez ensuite la méthode Next() pour parcourir chaque ligne de données dans le jeu de résultats et utilisez la méthode Scan() pour stocker chaque ligne de données dans une variable.

  1. Modification et suppression de données

En langage Go, utilisez la méthode Exec() de l'objet sql.DB pour modifier et supprimer des données.

Le code pour modifier les données est le suivant :

stmt, err := db.Prepare("UPDATE data SET data=? WHERE id=?")
if err != nil {
    log.Fatal(err)
}
defer stmt.Close()
res, err := stmt.Exec("new data", id)
if err != nil {
    log.Fatal(err)
}
rowsAffected, err := res.RowsAffected()
if err != nil {
    log.Fatal(err)
}

Le code pour supprimer les données est le suivant :

stmt, err := db.Prepare("DELETE FROM data WHERE id=?")
if err != nil {
    log.Fatal(err)
}
defer stmt.Close()
res, err := stmt.Exec(id)
if err != nil {
    log.Fatal(err)
}
rowsAffected, err := res.RowsAffected()
if err != nil {
    log.Fatal(err)
}

Dans le code ci-dessus, utilisez d'abord la méthode Exec() pour effectuer l'opération de modification ou de suppression, puis utilisez la méthode RowsAffected() pour obtenir le nombre de lignes affectées.

Résumé

Pour utiliser MySQL afin d'obtenir une transmission de données fiable en langage Go, vous devez d'abord vous connecter à la base de données MySQL, puis créer une structure de table et enfin utiliser la méthode Exec() pour ajouter, supprimer, modifier et interroger données. L'utilisation de la base de données MySQL peut garantir la fiabilité des données lors de la transmission des données et améliorer la stabilité et la fiabilité du système.

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!

Déclaration:
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