Maison  >  Article  >  base de données  >  Programmation de bases de données MySQL en langage Go : du débutant au compétent

Programmation de bases de données MySQL en langage Go : du débutant au compétent

WBOY
WBOYoriginal
2023-06-17 19:16:581371parcourir

Avec le développement d'Internet, les bases de données sont devenues l'un des principaux moyens de stocker des données. En tant que base de données relationnelle open source, facile à utiliser et puissante, MySQL est devenue la norme pour le développement Internet actuel. En tant que langage de programmation rapide et efficace, le langage Go est plébiscité par de plus en plus de développeurs. Alors, comment combiner les deux pour la programmation de bases de données MySQL ? Cet article vous l'expliquera du débutant au maître.

1. Installez et configurez l'environnement de développement du langage Go

Le site Web officiel du langage Go fournit des programmes d'installation pour différents systèmes d'exploitation. Vous pouvez choisir le programme d'installation approprié pour l'installation en fonction de votre propre version du système d'exploitation. Une fois l'installation terminée, vous devez définir les variables d'environnement liées au langage Go. Les opérations spécifiques sont les suivantes :

1. Définir GOROOT

GOROOT est le chemin d'installation du langage Go Sous le système Windows, vous devez ajouter le chemin d'installation du langage Go à la variable d'environnement. Sous d'autres systèmes, vous devez définir GOROOT sur le chemin d'installation du langage Go.

2. Définir GOPATH

GOPATH est le répertoire de travail du langage Go, qui est le chemin où le code Go est stocké. Si GOPATH n'est pas défini, le langage Go créera par défaut un nouveau répertoire nommé Go dans le répertoire personnel de l'utilisateur actuel et l'utilisera comme GOPATH. Par conséquent, il est recommandé de définir GOPATH pour éviter les conflits avec les répertoires utilisés par d'autres langages de développement.

2. Installez MySQL

Étant donné qu'il n'y a pas de support intégré pour MySQL dans le langage Go, vous devez utiliser un pilote tiers pour accéder à MySQL. Avant d'utiliser des pilotes tiers, vous devez installer la base de données MySQL. La méthode d'installation de la base de données MySQL est très flexible et ne sera pas décrite ici.

3. Installez le pilote MySQL

Il existe de nombreux pilotes MySQL tiers dans le langage Go, notamment go-sql-driver/mysql et mysql-orm. à titre d'exemple. Pour expliquer, voici les étapes d'installation :

1. Entrez la commande suivante dans le terminal ou l'outil de ligne de commande :

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

2. . Attendez la fin du téléchargement, dans le code Importez le module dans :

import "github.com/go-sql-driver/mysql"

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

Avant d'utiliser le pilote MySQL, vous avez besoin. pour établir la connexion correspondante. Nous montrerons ensuite comment utiliser le code de langue Go pour se connecter.

1. Créez le fichier main.go

Créez un nouveau fichier main.go dans l'éditeur de texte ouvert.

2. Importez les modules nécessaires

Importez les modules nécessaires au début du fichier main.go :

package main

import (

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

)

3. Fichier main.go Code pour établir une connexion avec la base de données MySQL :

func main() {

db, err := sql.Open("mysql", "username:password@tcp(127.0.0.1:3306)/dbname?charset=utf8")
if err != nil {
    fmt.Println("open mysql failed,", err)
    return
}
defer db.Close()
fmt.Println("connect to mysql success")

}

où username est le nom d'utilisateur MySQL, password est le mot de passe MySQL, dbname est le nom de la base de données à connecter, tcp est le protocole, 127.0.0.1 est l'adresse IP, 3306 est le numéro de port et le jeu de caractères spécifié par charset est utf8.

5. Exécuter des requêtes SQL et des opérations d'insertion

Après une connexion réussie à la base de données, nous pouvons utiliser le code du langage Go pour effectuer des requêtes SQL et des opérations d'insertion. Ci-dessous, nous expliquerons les opérations de requête et d’insertion séparément.

1. Exécuter des opérations de requête SQL

Il est extrêmement simple d'utiliser le code du langage Go pour effectuer des opérations de requête SQL et ne nécessite que quelques lignes de code. Par exemple, interrogez toutes les données de la table utilisateur :

func main() {

// 建立连接

rows, err := db.Query("SELECT * FROM user")
if err != nil {
    fmt.Println("query data failed,", 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.Println("get data failed,", err)
        continue
    }
    fmt.Println(id, name, age)
}

}

2. Effectuer des opérations d'insertion SQL

Utiliser le code du langage Go pour effectuer des opérations d'insertion SQL est également très simple et ne nécessite qu'un quelques lignes de code à compléter. Par exemple, insérez de nouvelles données dans la table utilisateur :

func main() {

// 建立连接

stmt, err := db.Prepare("INSERT INTO user(name, age) VALUES (?, ?)")
if err != nil {
    fmt.Println("prepare failed,", err)
    return
}
defer stmt.Close()

res, err := stmt.Exec("john", 29)
if err != nil {
    fmt.Println("insert data failed,", err)
    return
}

lastInsertId, err := res.LastInsertId()
if err != nil {
    fmt.Println("get last insert id failed,", err)
    return
}
fmt.Println("last insert id:", lastInsertId)
rowsAffected, err := res.RowsAffected()
if err != nil {
    fmt.Println("get rows affected failed,", err)
    return
}
fmt.Println("rows affected:", rowsAffected)

}

La programmation de bases de données MySQL en langage Go est très facile à apprendre et à utiliser. Après avoir maîtrisé ces connaissances, vous pouvez essayer des opérations plus complexes, tels que les transactions, les pools de connexions, etc. Bref, à travers l'explication de cet article, je crois que tout le monde maîtrise les connaissances de base de la combinaison du langage Go et de la base de données MySQL. J'espère que chacun pourra mettre pleinement en valeur ses talents dans le développement ultérieur du langage Go !

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