Maison  >  Article  >  base de données  >  Comment utiliser Golang pour écrire des procédures stockées MySQL

Comment utiliser Golang pour écrire des procédures stockées MySQL

WBOY
WBOYavant
2023-06-01 08:54:061006parcourir

1. Pourquoi utiliser les procédures stockées MySQL

Les procédures stockées MySQL présentent les avantages suivants lors de leur utilisation : #🎜🎜 ## 🎜🎜#

    Vous pouvez réécrire cette phrase comme ceci : En exécutant des procédures stockées côté serveur MySQL, vous pouvez améliorer les performances de votre application et éviter de générer dynamiquement des instructions SQL dans votre application. Cela peut réduire la surcharge de communication réseau et la pression sur la base de données.
  1. Maintenabilité et réutilisabilité du programme : les procédures stockées peuvent être appelées et réutilisées plusieurs fois, évitant ainsi l'écriture répétée des mêmes instructions SQL dans l'application, améliorant ainsi la maintenabilité du programme. et la réutilisabilité.
  2. Sécurité des données : les procédures stockées peuvent utiliser le mécanisme de contrôle d'accès de MySQL pour garantir la sécurité des données.
2. Utilisez Golang pour écrire des procédures stockées MySQL

Avant d'utiliser Golang pour écrire des procédures stockées MySQL, Nous devons comprendre la structure et la syntaxe de base des procédures stockées MySQL.

    La structure de base des procédures stockées
  1. Les procédures stockées MySQL comprennent l'en-tête, la déclaration de variable, le corps et procédure La fin se compose de quatre composants. Le début de l'instruction inclut le nom de la procédure stockée et la déclaration des paramètres, tandis que le corps contient l'instruction SQL spécifique et la logique du programme.

Ce qui suit est un exemple simple de procédure stockée MySQL :

CREATE PROCEDURE `hello_world`()
BEGIN
     SELECT 'Hello, world!';
END

    Syntaxe de la procédure stockée
  1. #🎜🎜 #

    La syntaxe des procédures stockées MySQL est légèrement différente des instructions SQL ordinaires. Ce qui suit est un exemple de syntaxe d'une procédure stockée MySQL :
  2. CREATE PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name data_type[(size)])
    BEGIN
        -- procedure body
    END

Appeler la procédure stockée MySQL dans Golang
  1. #🎜🎜 #in Dans Golang, nous pouvons utiliser le pilote MySQL fourni par Go-MySQL-Driver pour nous connecter à la base de données MySQL et exécuter des procédures stockées. Voici un exemple de Golang appelant une procédure stockée MySQL :

    package main
    
    import (
        "database/sql"
        "fmt"
    
        _ "github.com/go-sql-driver/mysql"
    )
    
    func main() {
        db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/test")
        if err != nil {
            panic(err.Error())
        }
        defer db.Close()
    
        rows, err := db.Query("CALL hello_world()")
        if err != nil {
            panic(err.Error())
        }
        defer rows.Close()
    
        var result string
        for rows.Next() {
            err := rows.Scan(&result)
            if err != nil {
                panic(err.Error())
            }
        }
        fmt.Println(result)
    }
  2. Nous avons d'abord utilisé la fonction sql.Open() pour nous connecter à la base de données MySQL. Le code ci-dessus décrit ce processus. Ensuite, nous pouvons utiliser la méthode db.Query() pour appeler la procédure stockée, puis utiliser la méthode db.Scan() pour obtenir les résultats de la requête.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer