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

王林
Lepaskan: 2023-09-20 11:07:49
asal
565 orang telah melayarinya

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
);
Salin selepas log masuk
  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"
)
Salin selepas log masuk

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
}
Salin selepas log masuk

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
}
Salin selepas log masuk

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
}
Salin selepas log masuk

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)
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan