一. gorm操作表代码
package main
import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jinzhu/gorm"
)
// 表对应的结构体
type User struct {
Id int `gorm:"primary_key"`
Name string
Age int
Email string
}
func main() {
// 链接mysql
db, err := gorm.Open(
"mysql",
"root:root@tcp(192.168.56.101:3306)/test?charset=utf8mb4&parseTime=True&loc=Local",
)
// 表名不自动加 `s`
db.LogMode(true)
// 打印gorm执行的sql
db.SingularTable(true)
if err != nil {
panic("mysql err")
}
defer db.Close()
user := User{
Name: "aa",
Age: 11,
Email: "111@qq.com",
}
// 增加
db.Create(&user)
fmt.Println(user.Id)
var newUser User
// 查询
db.First(&newUser, "name = ?", "aa")
fmt.Println(newUser)
// 更新
db.Table("user").Where("name = ?", "aa").Update(User{Age: 100})
// 删除
db.Where("name = ?", "Jone").Delete(&User{})
}
二. 表结构
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`name` varchar(30) DEFAULT NULL COMMENT '姓名',
`age` int(11) DEFAULT NULL COMMENT '年龄',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4