Rumah >pembangunan bahagian belakang >Golang >Pelajari fungsi pangkalan data dalam bahasa Go dan laksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan data MySQL
Ketahui fungsi pangkalan data dalam bahasa Go dan laksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan data MySQL
Bahasa Go ialah bahasa pengaturcaraan yang cekap, ringkas dan sangat cekap, dan pangkalan data ialah alat penting untuk menyimpan dan mengurus data. Dalam bahasa Go, terdapat banyak pemacu pangkalan data, salah satu yang paling biasa digunakan ialah MySQL. Artikel ini akan memperkenalkan cara mempelajari fungsi pangkalan data dalam bahasa Go, dan menggunakan contoh kod untuk menunjukkan cara melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan data MySQL.
Sebelum mula belajar, kita perlu memastikan bahawa bahasa Go dan MySQL telah dipasang, dan pemacu MySQL telah diimport. Anda boleh menggunakan arahan berikut untuk memasang pemacu MySQL:
go get -u github.com/go-sql-driver/mysql
Seterusnya, kami akan mencipta pangkalan data bernama "db_test" dan jadual data bernama "pengguna" di dalamnya untuk menunjukkan operasi tambah, padam, ubah suai dan pertanyaan. Anda boleh menggunakan kod berikut untuk mencipta pangkalan data dan jadual data:
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/") if err != nil { panic(err.Error()) } defer db.Close() _, err = db.Exec("CREATE DATABASE IF NOT EXISTS db_test") if err != nil { panic(err.Error()) } _, err = db.Exec("USE db_test") if err != nil { panic(err.Error()) } _, err = db.Exec("CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20))") if err != nil { panic(err.Error()) } fmt.Println("Database and table created successfully!") }
Jalankan kod di atas untuk mencipta pangkalan data bernama "db_test" dan jadual data bernama "users" dalam MySQL.
Seterusnya, kami akan melaksanakan operasi tambah, padam, ubah suai dan semak. Pertama, kami akan melaksanakan fungsi memasukkan data. Ini boleh dicapai menggunakan kod berikut:
func insertUser(db *sql.DB, name string) { stmt, err := db.Prepare("INSERT INTO users(name) VALUES(?)") if err != nil { panic(err.Error()) } _, err = stmt.Exec(name) if err != nil { panic(err.Error()) } fmt.Println("User inserted successfully!") }
Seterusnya, kami akan melaksanakan fungsi memadam data. Ini boleh dicapai menggunakan kod berikut:
func deleteUser(db *sql.DB, id int) { stmt, err := db.Prepare("DELETE FROM users WHERE id = ?") if err != nil { panic(err.Error()) } _, err = stmt.Exec(id) if err != nil { panic(err.Error()) } fmt.Println("User deleted successfully!") }
Kemudian, kami akan melaksanakan fungsi mengemas kini data. Ini boleh dicapai menggunakan kod berikut:
func updateUser(db *sql.DB, id int, name string) { stmt, err := db.Prepare("UPDATE users SET name = ? WHERE id = ?") if err != nil { panic(err.Error()) } _, err = stmt.Exec(name, id) if err != nil { panic(err.Error()) } fmt.Println("User updated successfully!") }
Akhir sekali, kami akan melaksanakan fungsi menanyakan data. Ini boleh dicapai menggunakan kod berikut:
func queryUsers(db *sql.DB) { rows, err := db.Query("SELECT * FROM users") if err != nil { panic(err.Error()) } defer rows.Close() var id int var name string fmt.Println("Users:") for rows.Next() { err := rows.Scan(&id, &name) if err != nil { panic(err.Error()) } fmt.Printf("ID: %d, Name: %s ", id, name) } }
Kini, kita boleh menyepadukan fungsi di atas ke dalam contoh lengkap dan mengujinya, seperti yang ditunjukkan di bawah:
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func insertUser(db *sql.DB, name string) { stmt, err := db.Prepare("INSERT INTO users(name) VALUES(?)") if err != nil { panic(err.Error()) } _, err = stmt.Exec(name) if err != nil { panic(err.Error()) } fmt.Println("User inserted successfully!") } func deleteUser(db *sql.DB, id int) { stmt, err := db.Prepare("DELETE FROM users WHERE id = ?") if err != nil { panic(err.Error()) } _, err = stmt.Exec(id) if err != nil { panic(err.Error()) } fmt.Println("User deleted successfully!") } func updateUser(db *sql.DB, id int, name string) { stmt, err := db.Prepare("UPDATE users SET name = ? WHERE id = ?") if err != nil { panic(err.Error()) } _, err = stmt.Exec(name, id) if err != nil { panic(err.Error()) } fmt.Println("User updated successfully!") } func queryUsers(db *sql.DB) { rows, err := db.Query("SELECT * FROM users") if err != nil { panic(err.Error()) } defer rows.Close() var id int var name string fmt.Println("Users:") for rows.Next() { err := rows.Scan(&id, &name) if err != nil { panic(err.Error()) } fmt.Printf("ID: %d, Name: %s ", id, name) } } func main() { db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/db_test") if err != nil { panic(err.Error()) } defer db.Close() insertUser(db, "Alice") insertUser(db, "Bob") insertUser(db, "Charlie") queryUsers(db) deleteUser(db, 2) queryUsers(db) updateUser(db, 1, "Alex") queryUsers(db) }
Jalankan kod di atas untuk merealisasikan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan data MySQL. Dengan mempelajari fungsi pangkalan data dalam bahasa Go, kami boleh mengendalikan data MySQL dengan mudah dan merealisasikan pelbagai keperluan fungsian. Saya percaya bahawa melalui contoh kod yang disediakan dalam artikel ini, pembaca dapat memahami dan menguasai penggunaan bahasa Go dan pangkalan data MySQL yang lebih mendalam.
Atas ialah kandungan terperinci Pelajari fungsi pangkalan data dalam bahasa Go dan laksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan data MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!