Rumah > pangkalan data > tutorial mysql > Bagaimana untuk menanyakan data mysql dalam bahasa go

Bagaimana untuk menanyakan data mysql dalam bahasa go

PHPz
Lepaskan: 2023-06-03 08:22:24
ke hadapan
1122 orang telah melayarinya

Untuk menggunakan pemacu MySQL, kami perlu memasangnya ke dalam projek Go kami melalui arahan berikut:

go get github.com/go-sql-driver/mysql
Salin selepas log masuk

Setelah pemasangan selesai, kami perlu mengimportnya ke dalam projek Golang:

import "github.com/go-sql-driver/mysql"
Salin selepas log masuk

Seterusnya, kita perlu mewujudkan sambungan ke pangkalan data MySQL. Berikut ialah contoh kod yang akan menyambung ke pangkalan data bernama "mydatabase":

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

Ambil perhatian bahawa dalam rentetan sambungan, kami menentukan port pelayan MySQL, iaitu 3306 secara lalai.

Selepas kami berjaya mewujudkan sambungan dengan pangkalan data MySQL, kami boleh memulakan pertanyaan data. Di bawah ialah contoh mudah yang mendapatkan semula rekod semua pengguna dalam jadual bernama "pengguna"

rows, err := db.Query("SELECT * FROM users")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()

for rows.Next() {
    var id int
    var name string
    var email string
    err = rows.Scan(&id, &name, &email)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(id, name, email)
}

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

Kami menggunakan fungsi db.Query untuk melaksanakan pertanyaan SQL, seperti yang ditunjukkan dalam contoh di atas. Fungsi ini akan mengembalikan objek Rows yang mengandungi semua baris hasil pertanyaan.

Seterusnya, kami menggunakan gelung for untuk melintasi semua baris dan menggunakan baris. Fungsi imbasan untuk membaca nilai lajur baris demi baris. Akhir sekali, kami menyemak ralat dalam sebarang hasil pertanyaan.

Sudah tentu, kami juga boleh menggunakan pertanyaan berparameter untuk menanya data dengan lebih selamat. Pertanyaan berparameter menghalang serangan suntikan SQL. Berikut ialah coretan kod sampel yang menggunakan pertanyaan berparameter untuk mendapatkan semula rekod pengguna bernama "john":

rows, err := db.Query("SELECT * FROM users WHERE name = ?", "john")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()

for rows.Next() {
    var id int
    var name string
    var email string
    err = rows.Scan(&id, &name, &email)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(id, name, email)
}

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

Dalam contoh di atas, kami telah menggunakan pemegang tempat dalam rentetan pertanyaan dan menambah Parameter bagi Fungsi pertanyaan menghantar nilai yang anda mahu padankan.

Atas ialah kandungan terperinci Bagaimana untuk menanyakan data mysql dalam bahasa go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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