Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk menanyakan data mysql dalam bahasa go
Golang ialah bahasa pengaturcaraan baru muncul yang, seperti bahasa lain, boleh berinteraksi dengan pelbagai pangkalan data. Dalam artikel ini, kita akan membincangkan cara membuat pertanyaan pangkalan data MySQL menggunakan pemacu MySQL di Golang.
Untuk menggunakan pemacu MySQL, kami perlu memasangnya ke dalam projek Go kami dengan arahan berikut:
go get github.com/go-sql-driver/mysql
Selepas pemasangan selesai, kami perlu mengimportnya ke dalam Projek Golang:
import "github.com/go-sql-driver/mysql"
Seterusnya, kita perlu mewujudkan sambungan ke pangkalan data MySQL. Berikut ialah kod sampel, 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()
Perhatikan bahawa dalam rentetan sambungan, kami menentukan port pelayan MySQL, iaitu 3306 secara lalai.
Setelah kami mewujudkan sambungan ke pangkalan data MySQL, kami boleh mula menanyakan data. Berikut ialah contoh pertanyaan mudah yang mendapatkan semula rekod semua pengguna daripada 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) }
Dalam contoh di atas, kami telah menggunakan fungsi db.Query untuk melaksanakan pertanyaan SQL. 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) }
Dalam contoh di atas, kami menggunakan pemegang tempat "?" dalam aksara rentetan pertanyaan dan lulus nilai yang anda mahu padankan dalam parameter fungsi Pertanyaan.
Ringkasan:
Artikel ini memperkenalkan cara menggunakan pemacu MySQL Golang untuk menanyakan pangkalan data MySQL. Kami menunjukkan cara untuk mewujudkan sambungan ke MySQL, cara melaksanakan pertanyaan, dan cara menggunakan pertanyaan berparameter. Contoh-contoh ini menyediakan titik permulaan yang baik kepada pemula tentang cara mula menggunakan Golang untuk berinteraksi dengan pangkalan data MySQL.
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!