这里只是简单介绍golang对MySQL的增删改查,会用到一个对象关系映射库gorm
gorm package - github.com/jinzhu/gorm - pkg.go.dev
https://pkg.go.dev/github.com/jinzhu/gorm@v1.9.16代码:
package main
import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql" // 需要用到mysql包里的init
)
func main() {
//"账号:密码@/数据库名?charset=字符集&parseTime=True&loc=IP地址"
db, err := gorm.Open("mysql", "root:root@/test?charset=utf8&parseTime=True&loc=Local")
if err != nil {
println("连接失败")
} else {
println("连接成功")
}
defer db.Close()
//设置全局表名禁用复数
db.SingularTable(true)
type Product struct {
Id int
Name string
Price int
Store int
}
// 查询数据
product := make([]Product, 10)
db.Find(&product)
for _, p := range product {
println("id: ", p.Id, "name: ", p.Name, "price: ", p.Price, "store: ", p.Store)
}
// 更新数据
update := Product{Id: 1, Name: "红米"}
db.Save(&update)
db.Model(&Product{}).Where("id = ?", "2").Update("store", "22")
// 新增数据
p1 := Product{
Id: 10,
Name: "大米",
Price: 12,
Store: 5,
}
db.Create(&p1)
// 删除数据
db.Where("id = ?", 3).Delete(&Product{})
}
本文介绍了如何使用GORM库在Go语言中进行MySQL的增删改查操作,包括连接数据库、查询、更新、插入和删除数据实例。
26万+

被折叠的 条评论
为什么被折叠?



