Pembangunan menggunakan bahasa MySQL dan Go: Bagaimana untuk melaksanakan fungsi penapisan data

WBOY
Lepaskan: 2023-07-31 18:51:18
asal
1538 orang telah melayarinya

Dibangunkan menggunakan bahasa MySQL dan Go: Cara melaksanakan fungsi penapisan data

1 Pengenalan
Apabila membangunkan aplikasi web, fungsi penapisan data adalah keperluan biasa. Kami selalunya perlu mendapatkan data khusus daripada pangkalan data untuk memenuhi kriteria carian pengguna. Artikel ini akan memperkenalkan cara menggunakan MySQL dan pembangunan bahasa Go untuk melaksanakan fungsi penapisan data.

2. Sebelum kita mula, kita perlu menyediakan persekitaran dan alatan berikut:

    Pasang pangkalan data MySQL dan buat pangkalan data dan jadual data
  1. Pasang persekitaran bahasa Go
  2. Pasang pakej pemacu MySQL untuk Pergi. Anda boleh menggunakan arahan "go get" untuk memasangnya, arahannya ialah: go get github.com/go-sql-driver/mysql
3 Sambung ke pangkalan data

Pertama, kita perlu menyambung ke pangkalan data MySQL dalam program Go. Anda boleh mencipta fail yang dipanggil "database.go" dan menambah kod berikut di dalamnya:

package main

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

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

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

    err = db.Ping()
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println("Connected to MySQL database!")

    // 在这里写入数据筛选的代码
}
Salin selepas log masuk

Sila gantikan "pengguna", "kata laluan" dan "pangkalan data" dengan nama pengguna, kata laluan dan nama pangkalan data MySQL anda sendiri.

4. Laksanakan fungsi penapisan data

Seterusnya, kami akan melaksanakan fungsi penapisan data dalam kod di atas. Katakan kita mempunyai jadual data bernama "pengguna" yang mengandungi tiga medan: "id", "nama" dan "umur". Kami mahu menapis data berdasarkan syarat yang ditentukan pengguna.

Berikut ialah contoh kod penapisan data yang boleh mendapatkan data pengguna yang memenuhi syarat berdasarkan input pengguna:

package main

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

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

type User struct {
    ID   int
    Name string
    Age  int
}

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

    err = db.Ping()
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println("Connected to MySQL database!")

    // 数据筛选
    rows, err := db.Query("SELECT id, name, age FROM users WHERE age > ?", 18)
    if err != nil {
        log.Fatal(err)
    }
    defer rows.Close()

    var users []User

    for rows.Next() {
        var user User
        err := rows.Scan(&user.ID, &user.Name, &user.Age)
        if err != nil {
            log.Fatal(err)
        }

        users = append(users, user)
    }

    err = rows.Err()
    if err != nil {
        log.Fatal(err)
    }

    for _, user := range users {
        fmt.Println(user)
    }
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah "db.Query" untuk melaksanakan pernyataan pertanyaan SQL yang akan memuaskan Rekod keadaan (umur>18) diambil semula. Kemudian, kami menggunakan kaedah "rows.Scan" untuk membaca hasil pertanyaan ke dalam struktur Pengguna, dan akhirnya mencetak data pengguna yang memenuhi syarat.

5. Ringkasan

Melalui pengenalan artikel ini, kami telah mempelajari cara menggunakan bahasa MySQL dan Go untuk membangunkan fungsi penapisan data. Kami menyambung ke pangkalan data MySQL dan menulis kod untuk melaksanakan penapisan data. Ini hanyalah contoh mudah Dalam pembangunan sebenar, kita boleh mereka bentuk fungsi penapisan data yang lebih kompleks mengikut keperluan tertentu.

6. Rujukan

    Go pemacu MySQL: https://github.com/go-sql-driver/mysql
  1. Dokumentasi rasmi MySQL: https://dev.mysql.com/doc/
  2. Go language Official dokumentasi: https://golang.org/doc/

Atas ialah kandungan terperinci Pembangunan menggunakan bahasa MySQL dan Go: Bagaimana untuk melaksanakan fungsi penapisan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!