Rumah >pembangunan bahagian belakang >Golang >Pelajari fungsi pangkalan data dalam bahasa Go dan laksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan data MySQL

Pelajari fungsi pangkalan data dalam bahasa Go dan laksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan data MySQL

WBOY
WBOYasal
2023-07-30 15:45:191248semak imbas

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!

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