【Go】GORM连接MySQL
演示样例
package main
import (
"fmt"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
)
// 定义结构体
// 命名规则 以大写为间隔分开,大写变小写,最后加's'
type UseInfo struct{
Name string
Gender string
Hobby string
}
func main(){
db , err := gorm.Open("mysql",
"root:root@tcp(127.0.0.1:3306)/db1?charset=utf8&mb4&parseTime=True&loc=Local")
if err != nil{
fmt.Printf("")
panic(err)
}
defer db.Close()
fmt.Printf("成功连接数据库!\n")
//创建表: 自动迁移
db.AutoMigrate(UseInfo{})
// 添加行
user := UseInfo{
Name :"靓仔",
Gender: "男",
Hobby:"媾女",
}
db.Create(&user)
// 查询
db.First(&user)
fmt.Printf("%#v\n",user)
// 更新
db.Model(&user).Update("hobby","泡妞")
fmt.Printf("%#v\n",user)
// 删除
db.Delete(&user)
}
上课笔记
- Mac版本命令行打开mysql,
"mysql -u root -p"
Open("mysql","root:root@tcp(127.0.0.1:3306)/db1?charset=utf8&mb4&parseTime=True&loc=Local")
账号:密码@(IP:端口号)/数据库名称?
,charset=中文编码&mb4
,parseTime=True
,loc=Local
AutoMigrate
,自动迁移创建表
db.Create(&user)
,创建行,添加数组,记住一定要传指针
db.First(&user)
,查询第一行,记住一定是要传指针
db.Model(&user).Update("hobby","泡妞")
,对应的字段更新
db.Delete(&user)
,删除与user值相匹配的行