Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tanya pangkalan data Menggunakan Go

Tanya pangkalan data Menggunakan Go

王林
王林asal
2024-08-16 07:06:42285semak imbas

Query a database Using Go

Langkah 1: Pasang pemacu MySQL
Pertama, anda perlu memasang pemacu MySQL untuk Go. Yang popular ialah go-sql-driver/mysql. Anda boleh memasangnya menggunakan:

go get -u github.com/go-sql-driver/mysql

Langkah 2: Tulis kod Go
Berikut ialah contoh cara anda boleh menyambung ke pangkalan data MySQL dan data pertanyaan:

package main

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

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

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

    // Ping the database to check if the connection is alive
    if err := db.Ping(); err != nil {
        log.Fatal(err)
    }

    // Define the query
    query := "SELECT id, name FROM users WHERE active = ?"
    active := true

    // Execute the query
    rows, err := db.Query(query, active)
    if err != nil {
        log.Fatal(err)
    }
    defer rows.Close()

    // Iterate through the result set
    for rows.Next() {
        var id int
        var name string
        if err := rows.Scan(&id, &name); err != nil {
            log.Fatal(err)
        }
        fmt.Printf("ID: %d, Name: %s\n", id, name)
    }

    // Check for errors from iterating over rows
    if err := rows.Err(); err != nil {
        log.Fatal(err)
    }
}

Penjelasan:
Import pakej yang diperlukan: Anda mengimport pakej pangkalan data/sql untuk interaksi pangkalan data dan pemacu MySQL (github.com/go-sql-driver/mysql).

Buka sambungan pangkalan data: Anda membuka sambungan ke pangkalan data menggunakan sql.Open. Format rentetan sambungan ialah nama pengguna:password@tcp(host:port)/dbname.

Ping pangkalan data: Amalan yang baik untuk ping pangkalan data untuk memastikan sambungan diwujudkan.

Laksanakan pertanyaan: Anda laksanakan pertanyaan menggunakan db.Query. Kaedah Pertanyaan mengembalikan objek *sql.Rows, yang boleh anda ulangi untuk mendapatkan set hasil.

Lelaran melalui hasil: Anda menggunakan gelung untuk melelakan melalui baris dan Imbas setiap baris ke dalam pembolehubah.

Kendalikan ralat: Anda harus mengendalikan sebarang ralat yang berlaku semasa pelaksanaan pertanyaan atau semasa lelaran.

Langkah 3: Jalankan kod anda
Pastikan anda menggantikan nama pengguna, kata laluan, 127.0.0.1:3306 dan nama db dengan bukti kelayakan MySQL dan butiran pangkalan data sebenar anda.

Jalankan program Go anda, dan ia akan mengeluarkan hasil pertanyaan anda.

Contoh ini boleh disesuaikan untuk pangkalan data lain dengan menukar pemacu dan rentetan sambungan dengan sewajarnya.

Atas ialah kandungan terperinci Tanya pangkalan data Menggunakan 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