Maison >développement back-end >Golang >Utiliser SQL Server dans Go : un guide complet

Utiliser SQL Server dans Go : un guide complet

王林
王林original
2023-06-18 09:18:003032parcourir

Avec l'utilisation généralisée des applications au niveau de l'entreprise, SQL Server est également devenu l'une des bases de données les plus utilisées dans les applications au niveau de l'entreprise. De plus, avec la popularité du langage Go, de plus en plus de développeurs espèrent utiliser SQL Server en langage Go. Dans cet article, nous présenterons comment utiliser SQL Server en langage Go, impliquant un guide complet sur la connexion, l'interrogation, la lecture et l'écriture de données, etc.

Connectez-vous à la base de données SQL Server

Pour nous connecter à la base de données SQL Server, nous devons utiliser le pilote SQL Server (c'est-à-dire mssql) fourni par Microsoft. Ce pilote est très simple à utiliser, alors installons-le.

Installer le pilote SQL Server

Pour installer le pilote mssql, nous devons exécuter la commande suivante dans le terminal :

go get github.com/denisenkom/go-mssqldb

Cette commande va télécharger et installez le pilote mssql.

Connectez-vous à la base de données

Une fois le pilote installé, nous pouvons nous connecter à la base de données SQL Server. La connexion nous oblige à fournir l'adresse du serveur de la base de données, le nom de la base de données, le nom d'utilisateur et le mot de passe. Voici un exemple basique de connexion :

package main

import (
    "database/sql"
    "fmt"
    _ "github.com/denisenkom/go-mssqldb"
)

func main() {
    server := "localhost\SQLEXPRESS"
    port := 1433
    user := "sa"
    password := "password123"
    database := "MyDatabase"

    connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=%s;",
        server, user, password, port, database)
    db, err := sql.Open("mssql", connString)

    if err != nil {
        panic(err)
    }

    defer db.Close()

    // Connection successful. We can now start working with the database.
    fmt.Println("Connection successful.")
}

Dans cet exemple, nous spécifions l'adresse du serveur de la base de données comme "localhostSQLEXPRESS", le port comme 1433, le nom d'utilisateur comme sa, le mot de passe comme password123 et le nom des données comme MyDatabase. La chaîne de connexion est formatée au format "Mon exemple de chaîne de connexion". Nous utilisons cette chaîne pour ouvrir la connexion et fournir un simple message de confirmation une fois la connexion réussie.

Query Data

Une fois la connexion établie, nous pouvons commencer à utiliser les commandes SQL pour interroger les données de la base de données. Nous pouvons utiliser db.Query() pour exécuter l'instruction de requête et rows.Scan() pour analyser chaque ligne de données dans les résultats de la requête. Voici un exemple de requête basique :

func main() {
    server := "localhost\SQLEXPRESS"
    port := 1433
    user := "sa"
    password := "password123"
    database := "MyDatabase"

    connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=%s;",
        server, user, password, port, database)

    db, err := sql.Open("mssql", connString)
    if err != nil {
        panic(err)
    }

    defer db.Close()

    // Query the database.
    query := "SELECT Name, Email FROM Customers WHERE Country = 'USA'"
    rows, err := db.Query(query)

    if err != nil {
        panic(err)
    }

    defer rows.Close()

    // Scan the results.
    for rows.Next() {
        var name string
        var email string
        err = rows.Scan(&name, &email)

        if err != nil {
            panic(err)
        }

        fmt.Println(name, email)
    }
}

Dans cet exemple, nous interrogeons la table nommée "Clients", qui se trouve dans la base de données MyDatabase. Nous avons uniquement sélectionné les lignes avec des colonnes nommées « Nom » et « Email » où « Pays » est répertorié comme « USA ».

Lorsque nous exécutons la requête, les résultats seront stockés dans la variable de requête. Nous utilisons ensuite db.Query() pour exécuter la requête. Il renvoie un jeu de résultats, que nous analysons à l'aide de rows.Scan(). Enfin, nous parcourons les résultats renvoyés et imprimons les données pour chaque ligne.

Écriture de données

Lors de l'utilisation de SQL Server en langage Go, l'écriture de nouvelles données est très similaire à la lecture de données. Pour écrire des données, nous exécutons simplement une instruction INSERT, UPDATE ou DELETE en utilisant db.Exec(). Voici un exemple d'écriture de base :

func main() {
    server := "localhost\SQLEXPRESS"
    port := 1433
    user := "sa"
    password := "password123"
    database := "MyDatabase"

    connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=%s;",
        server, user, password, port, database)

    db, err := sql.Open("mssql", connString)
    if err != nil {
        panic(err)
    }

    defer db.Close()

    // Insert a new row.
    statement := "INSERT INTO Customers (Name, Email, Country) VALUES (?, ?, ?)"
    result, err := db.Exec(statement, "John Doe", "johndoe@example.com", "USA")

    if err != nil {
        panic(err)
    }

    rowsAffected, err := result.RowsAffected()
    if err != nil {
        panic(err)
    }

    // Write successful. Display the number of rows affected.
    fmt.Printf("%d rows affected.
", rowsAffected)
}

Dans cet exemple, nous exécutons une instruction INSERT pour insérer une ligne de données dans la table nommée "Clients". Nous avons spécifié le nom « John Doe », l'adresse e-mail « johndoe@example.com » et le pays « USA ». Nous utilisons db.Exec() pour écrire les données et fmt.Printf() pour imprimer les résultats.

Résumé

Dans cet article, nous présentons comment utiliser SQL Server en langage Go. Nous avons appris à nous connecter à la base de données, à exécuter des requêtes et à écrire des données. Nous avons également vu que le processus d'utilisation de SQL Server avec le langage Go est très simple. Par conséquent, SQL Server est devenu l'une des solutions de stockage de données préférées pour les applications d'entreprise. Si vous êtes un développeur Go et que vous souhaitez utiliser SQL Server dans votre prochain projet, cet article vous fournira un guide très utile.

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