Golang ialah bahasa pengaturcaraan yang menyokong pengaturcaraan serentak, dengan mekanisme pengumpulan sampah yang cekap dan kelajuan penyusunan yang pantas. Apabila menulis aplikasi web menggunakan golang, anda selalunya perlu berinteraksi dengan pangkalan data MySQL. Artikel ini akan memperkenalkan cara menggunakan golang untuk menanyakan mysql dan menetapkan keputusan kepada pembolehubah.
Pertama, anda perlu memasang pemacu MySQL golang. Pada masa ini terdapat dua pemacu MySQL yang biasa digunakan: go-sql-driver dan mysql. Dalam artikel ini, kami akan menggunakan go-sql-driver.
Untuk memasang go-sql-driver, anda boleh menggunakan arahan berikut:
go get -u github.com/go-sql-driver/mysql
Selepas pemasangan selesai, import pakej mysql dalam kod:
import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" )
Seterusnya , anda perlu mewujudkan sambungan dengan sambungan pangkalan data. Anda boleh menggunakan fungsi Buka untuk membuka sambungan ke pangkalan data dan fungsi Tutup untuk menutup sambungan. Apabila membuka sambungan, anda perlu menentukan alamat sambungan pangkalan data, nama pengguna, kata laluan dan nama pangkalan data.
db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/mydb") if err != nil { panic(err.Error()) } defer db.Close()
Seterusnya, anda boleh menggunakan fungsi Pertanyaan untuk menanyakan pangkalan data dan menetapkan hasil pertanyaan kepada pembolehubah. Fungsi Pertanyaan mengembalikan objek jenis Baris yang mengandungi semua baris hasil pertanyaan. Objek Rows menyediakan berbilang kaedah untuk melintasi hasil pertanyaan, seperti Seterusnya, Imbas dan Lajur.
var name string var age int err = db.QueryRow("SELECT name, age FROM users WHERE id = ?", 1).Scan(&name, &age) if err != nil { panic(err.Error()) }
Dalam kod di atas, fungsi QueryRow digunakan untuk menanyakan pangkalan data. Fungsi QueryRow mengembalikan satu baris data, bukan semua baris yang sepadan. Fungsi Imbasan memberikan setiap nilai lajur dalam hasil pertanyaan kepada nama pembolehubah dan umur yang baru diisytiharkan.
Akhir sekali, anda boleh menggunakan pakej fmt untuk mengeluarkan hasil tugasan ke konsol.
fmt.Printf("Name: %s Age: %d ", name, age)
Kod lengkap adalah seperti berikut:
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/mydb") if err != nil { panic(err.Error()) } defer db.Close() var name string var age int err = db.QueryRow("SELECT name, age FROM users WHERE id = ?", 1).Scan(&name, &age) if err != nil { panic(err.Error()) } fmt.Printf("Name: %s Age: %d ", name, age) }
Di atas ialah cara menggunakan golang untuk menanyakan mysql dan menetapkan hasilnya kepada pembolehubah. Dengan menjadi mahir dalam teknologi ini, pembangun boleh mengendalikan operasi pertanyaan pangkalan data dengan lebih mudah dan meningkatkan kecekapan dan prestasi aplikasi web.
Atas ialah kandungan terperinci golang query mysql assignment. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!