Golang hanya melaksanakan mysql

WBOY
Lepaskan: 2023-05-15 11:45:07
asal
743 orang telah melayarinya

Adalah sangat mudah untuk menggunakan Golang untuk menulis program untuk mengendalikan pangkalan data, dan ini tidak terkecuali dalam pangkalan data MySQL. Berikut akan memperkenalkan kepada anda cara melaksanakan operasi MySQL di Golang.

Pertama, pastikan anda telah memasang Golang dan MySQL dengan betul, dan anda juga perlu memasang pemacu MySQL Go. Ini boleh dilakukan dengan mudah dengan arahan berikut:

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

Sebelum mencipta program Go, kita juga perlu mencipta pangkalan data MySQL dan jadual untuk menunjukkan kaedah menggunakan Golang untuk operasi pangkalan data.

Andaikan kami telah mencipta pangkalan data bernama "test_db" dan ia mengandungi jadual bernama "pengguna". Struktur jadual adalah seperti berikut:

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `email` varchar(50) NOT NULL,
  `age` smallint(6) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Salin selepas log masuk

Seterusnya, kita boleh mula menulis program Golang. Berikut ialah contoh atur cara mudah yang menunjukkan cara menggunakan pemacu Golang untuk menyambung ke pangkalan data MySQL dan melaksanakan beberapa operasi pertanyaan asas:

package main

import (
    "database/sql"
    "fmt"
    _ "github.com/go-sql-driver/mysql"
)

func main() {
    // 连接 MySQL 数据库
    db, err := sql.Open("mysql", "username:password@tcp(127.0.0.1:3306)/test_db?charset=utf8mb4")
    if err != nil {
        panic(err.Error())
    }
    defer db.Close()

    // 执行查询操作
    rows, err := db.Query("SELECT * FROM users")
    if err != nil {
        panic(err.Error())
    }
    defer rows.Close()

    // 遍历查询结果
    for rows.Next() {
        var id int
        var name string
        var email string
        var age int
        err := rows.Scan(&id, &name, &email, &age)
        if err != nil {
            panic(err.Error())
        }
        fmt.Println(id, name, email, age)
    }

    // 检查是否存在错误
    err = rows.Err()
    if err != nil {
        panic(err.Error())
    }
}
Salin selepas log masuk

Dengan menjalankan program di atas, kami berjaya menyambung ke pangkalan data MySQL dan gunakan pernyataan " PILIH" menanyakan semua rekod dalam jadual "pengguna" dan mencetak hasilnya.

Selain pertanyaan, kami juga boleh menggunakan pemacu Golang untuk melaksanakan operasi MySQL biasa yang lain seperti sisipan, kemas kini dan pemadaman. Berikut ialah contoh atur cara mudah:

package main

import (
    "database/sql"
    "fmt"
    _ "github.com/go-sql-driver/mysql"
)

func main() {
    // 连接 MySQL 数据库
    db, err := sql.Open("mysql", "username:password@tcp(127.0.0.1:3306)/test_db?charset=utf8mb4")
    if err != nil {
        panic(err.Error())
    }
    defer db.Close()

    // 插入一条记录
    stmt, err := db.Prepare("INSERT INTO users(name, email, age) VALUES(?, ?, ?)")
    if err != nil {
        panic(err.Error())
    }
    defer stmt.Close()

    result, err := stmt.Exec("Tom", "tom@email.com", 30)
    if err != nil {
        panic(err.Error())
    }
    lastInsertId, _ := result.LastInsertId()
    fmt.Println("新增记录的 ID:", lastInsertId)

    // 更新一条记录
    stmt, err = db.Prepare("UPDATE users SET name=?, age=? WHERE id=?")
    if err != nil {
        panic(err.Error())
    }
    defer stmt.Close()

    result, err = stmt.Exec("Jerry", 25, 1)
    if err != nil {
        panic(err.Error())
    }
    affectRow, _ := result.RowsAffected()
    fmt.Println("受影响的行数:", affectRow)

    // 删除一条记录
    stmt, err = db.Prepare("DELETE FROM users WHERE id=?")
    if err != nil {
        panic(err.Error())
    }
    defer stmt.Close()

    result, err = stmt.Exec(1)
    if err != nil {
        panic(err.Error())
    }
    affectRow, _ = result.RowsAffected()
    fmt.Println("受影响的行数:", affectRow)
}
Salin selepas log masuk

Dengan contoh atur cara di atas, kami berjaya melaksanakan operasi MySQL biasa seperti memasukkan, mengemas kini dan memadam.

Secara keseluruhannya, sangat mudah untuk melaksanakan operasi pangkalan data MySQL menggunakan pemacu Golang. Pelbagai operasi, seperti pertanyaan, sisip, kemas kini atau padam, boleh dilaksanakan dengan mudah melalui pemacu Golang.

Atas ialah kandungan terperinci Golang hanya melaksanakan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!