Rumah >pangkalan data >tutorial mysql >Bagaimana untuk membangunkan sistem peringatan jadual ringkas menggunakan MySQL dan bahasa Go

Bagaimana untuk membangunkan sistem peringatan jadual ringkas menggunakan MySQL dan bahasa Go

王林
王林asal
2023-09-20 11:07:49591semak imbas

Bagaimana untuk membangunkan sistem peringatan jadual ringkas menggunakan MySQL dan bahasa Go

Cara membangunkan sistem peringatan jadual ringkas menggunakan MySQL dan bahasa Go

Dengan kadar kehidupan moden yang pantas dan kerja yang sibuk, kita sering mengabaikan perkara penting dan janji temu. Untuk membantu orang ramai mengurus masa dengan lebih baik, kami boleh menggunakan bahasa MySQL dan Go untuk membangunkan sistem peringatan jadual yang ringkas. Artikel ini akan memperkenalkan cara menyimpan maklumat jadual melalui pangkalan data MySQL dan menulis kod berkaitan menggunakan bahasa Go.

  1. Reka bentuk pangkalan data

Pertama, kita perlu mereka bentuk pangkalan data untuk menyimpan maklumat jadual. Kita boleh membuat jadual bernama "events", yang mengandungi medan berikut:

  • id: pengecam unik acara, menggunakan kunci utama auto-incrementing
  • tajuk: tajuk acara
  • tarikh: tarikh acara, menggunakan jenis DATE
  • masa: Masa acara, menggunakan jenis TIME
  • penerangan: Penerangan acara

Anda boleh menggunakan pernyataan SQL berikut untuk mencipta jadual ini:

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 contoh kod bahasa

Seterusnya, kami menggunakan bahasa Go untuk menulis kod Sambung ke pangkalan data MySQL dan melaksanakan fungsi yang berkaitan. Pertama, kita perlu mengimport pakej yang diperlukan:

package main

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

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

Kemudian, kami mentakrifkan struktur acara untuk menyimpan maklumat acara yang diambil daripada pangkalan data:

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

Seterusnya, kami menulis fungsi untuk mendapatkan semua acara daripada pangkalan data:

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
}

Seterusnya, kami menulis fungsi untuk mencipta acara baharu:

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
}

Akhir sekali, kami menulis fungsi utama untuk menguji fungsi ini:

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)
}

Di atas ialah contoh kod menggunakan bahasa MySQL dan Go untuk membangunkan sistem peringatan jadual yang ringkas. Melalui sistem ini, kami boleh menyimpan dan mendapatkan semula maklumat jadual dengan mudah dan mencipta acara baharu. Anda boleh terus membangunkan dan mengoptimumkan mengikut keperluan sebenar. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Bagaimana untuk membangunkan sistem peringatan jadual ringkas menggunakan MySQL dan bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn