连接MySQL
要先建立orm数据库。
package mainimport ("fmt"_ "github.com/go-sql-driver/mysql" //引入mysql驱动"github.com/jinzhu/gorm")type Person struct {Id int //序号Name string //姓名Age int //年龄Sex string //性别}func main() {db, err := gorm.Open("mysql", "root:root@(127.0.0.1:3306)/orm?charset=utf8")if err != nil {fmt.Println("数据库连接失败", err.Error())}defer db.Close() //使用后关闭}
增
package mainimport ("fmt"_ "github.com/go-sql-driver/mysql" //引入mysql驱动"github.com/jinzhu/gorm")type Person struct {Id int //序号Name string //姓名Age int //年龄Sex string //性别}func main() {db, err := gorm.Open("mysql", "root:root@(127.0.0.1:3306)/orm?charset=utf8")if err != nil {fmt.Println("数据库连接失败", err.Error())}defer db.Close() //使用后关闭db.AutoMigrate(&Person{}) //自动迁移,保持表是最新的user1 := Person{1, "小明", 8, "男"} //实例化Person结构体,user1是一个对象user2 := Person{2, "小红", 88, "女"}user3 := Person{3, "小华", 888, "人妖"}db.Create(&user1) //插入数据db.Create(&user2)db.Create(&user3)}
查
package mainimport ("fmt"_ "github.com/go-sql-driver/mysql" //引入mysql驱动"github.com/jinzhu/gorm")type Person struct {Id int //序号Name string //姓名Age int //年龄Sex string //性别}func main() {db, err := gorm.Open("mysql", "root:root@(127.0.0.1:3306)/orm?charset=utf8")if err != nil {fmt.Println("数据库连接失败", err.Error())}defer db.Close() //使用后关闭db.AutoMigrate(&Person{}) //自动迁移,保持表是最新的// user1 := Person{1, "小明", 8, "男"} //实例化Person结构体,user1是一个对象// user2 := Person{2, "小红", 88, "女"}// user3 := Person{3, "小华", 888, "人妖"}//增// db.Create(&user1)// db.Create(&user2)// db.Create(&user3)//查var u1 Persondb.Find(&u1, "name=?", "小红") //name=小红的记录fmt.Println(u1)}
改
package mainimport ("fmt"_ "github.com/go-sql-driver/mysql" //引入mysql驱动"github.com/jinzhu/gorm")type Person struct {Id int //序号Name string //姓名Age int //年龄Sex string //性别}func main() {db, err := gorm.Open("mysql", "root:root@(127.0.0.1:3306)/orm?charset=utf8")if err != nil {fmt.Println("数据库连接失败", err.Error())}defer db.Close() //使用后关闭db.AutoMigrate(&Person{}) //自动迁移,保持表是最新的// user1 := Person{1, "小明", 8, "男"} //实例化Person结构体,user1是一个对象// user2 := Person{2, "小红", 88, "女"}// user3 := Person{3, "小华", 888, "人妖"}//增// db.Create(&user1)// db.Create(&user2)// db.Create(&user3)// db.Table("test").Create(&Person{}) //不插入数据,自定义表名为test//查// var u1 Person// db.Find(&u1, "name=?", "小红") //name=小红的记录// fmt.Println(u1)//改db.Table("people").Where("id=?", 1).Update("name", "小明") //从people表查询id=1的记录,把name改成小明}
删
package mainimport ("fmt"_ "github.com/go-sql-driver/mysql" //引入mysql驱动"github.com/jinzhu/gorm")type Person struct {Id int //序号Name string //姓名Age int //年龄Sex string //性别}func main() {db, err := gorm.Open("mysql", "root:root@(127.0.0.1:3306)/orm?charset=utf8")if err != nil {fmt.Println("数据库连接失败", err.Error())}defer db.Close() //使用后关闭db.AutoMigrate(&Person{}) //自动迁移,保持表是最新的// user1 := Person{1, "小明", 8, "男"} //实例化Person结构体,user1是一个对象// user2 := Person{2, "小红", 88, "女"}// user3 := Person{3, "小华", 888, "人妖"}//增// db.Create(&user1)// db.Create(&user2)// db.Create(&user3)// db.Table("test").Create(&Person{}) //不插入数据,自定义表名为test//查// var u1 Person// db.Find(&u1, "name=?", "小红") //name=小红的记录// fmt.Println(u1)//改// db.Table("people").Where("id=?", 1).Update("name", "小明") //从people表查询id=1的记录,把name改成小明//删db.Table("people").Where("id=?", 1).Delete(Person{}) //从people表中,删除id=1的记录}

