Maison  >  Article  >  base de données  >  Comment développer un système simple de rappel d'horaires en utilisant le langage MySQL et Go

Comment développer un système simple de rappel d'horaires en utilisant le langage MySQL et Go

王林
王林original
2023-09-20 11:07:49515parcourir

Comment développer un système simple de rappel dhoraires en utilisant le langage MySQL et Go

Comment développer un système simple de rappel d'horaires en utilisant MySQL et le langage Go

Avec le rythme rapide de la vie moderne et un travail chargé, nous ignorons souvent les choses et les rendez-vous importants. Afin d'aider les gens à mieux gérer leur temps, nous pouvons utiliser le langage MySQL et Go pour développer un système simple de rappel d'horaire. Cet article explique comment stocker les informations de planification via une base de données MySQL et écrire le code associé à l'aide du langage Go.

  1. Conception de base de données

Tout d'abord, nous devons concevoir une base de données pour stocker les informations sur les horaires. On peut créer une table nommée "events", contenant les champs suivants :

  • id : l'identifiant unique de l'événement, à l'aide d'une clé primaire auto-incrémentée
  • title : le titre de l'événement
  • date : la date du l'événement, en utilisant le type DATE
  • time : L'heure de l'événement, en utilisant le type TIME
  • description : La description de l'événement

Vous pouvez utiliser l'instruction SQL suivante pour créer cette table :

CREATE TABLE events (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    date DATE NOT NULL,
    time TIME NOT NULL,
    description TEXT
);
  1. Go exemple de code de langage

Ensuite, nous utilisons le langage Go pour écrire du code Connectez-vous à la base de données MySQL et implémentez les fonctions associées. Tout d'abord, nous devons importer les packages nécessaires :

package main

import (
    "database/sql"
    "fmt"
    "log"

    _ "github.com/go-sql-driver/mysql"
)

Ensuite, nous définissons une structure d'événements pour stocker les informations sur les événements récupérées de la base de données :

type Event struct {
    ID          int
    Title       string
    Date        string
    Time        string
    Description string
}

Ensuite, nous écrivons une fonction pour obtenir tous les événements de la base de données :

func getEvents(db *sql.DB) ([]Event, error) {
    rows, err := db.Query("SELECT * FROM events")
    if err != nil {
        return nil, err
    }
    defer rows.Close()

    var events []Event
    for rows.Next() {
        var event Event
        err := rows.Scan(&event.ID, &event.Title, &event.Date, &event.Time, &event.Description)
        if err != nil {
            return nil, err
        }
        events = append(events, event)
    }
    if err = rows.Err(); err != nil {
        return nil, err
    }

    return events, nil
}

Ensuite, nous écrivons une fonction pour créer de nouveaux événements :

func createEvent(db *sql.DB, event Event) (int64, error) {
    stmt, err := db.Prepare("INSERT INTO events (title, date, time, description) VALUES (?, ?, ?, ?)")
    if err != nil {
        return -1, err
    }
    defer stmt.Close()

    result, err := stmt.Exec(event.Title, event.Date, event.Time, event.Description)
    if err != nil {
        return -1, err
    }

    id, err := result.LastInsertId()
    if err != nil {
        return -1, err
    }

    return id, nil
}

Enfin, nous écrivons une fonction principale pour tester ces fonctions :

func main() {
    db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/database")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    events, err := getEvents(db)
    if err != nil {
        log.Fatal(err)
    }

    for _, event := range events {
        fmt.Println(event.Title, event.Date, event.Time, event.Description)
    }

    event := Event{
        Title:       "Meeting",
        Date:        "2021-01-01",
        Time:        "10:00:00",
        Description: "Important meeting with clients",
    }

    id, err := createEvent(db, event)
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println("Created event with ID:", id)
}

Ce qui précède est un exemple de code d'utilisation du langage MySQL et Go pour développer un système simple de rappel de planning. Grâce à ce système, nous pouvons facilement stocker et récupérer des informations sur les horaires et créer de nouveaux événements. Vous pouvez développer et optimiser davantage en fonction des besoins réels. J'espère que cet article vous sera 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