连接MySQL

要先建立orm数据库。

  1. package main
  2. import (
  3. "fmt"
  4. _ "github.com/go-sql-driver/mysql" //引入mysql驱动
  5. "github.com/jinzhu/gorm"
  6. )
  7. type Person struct {
  8. Id int //序号
  9. Name string //姓名
  10. Age int //年龄
  11. Sex string //性别
  12. }
  13. func main() {
  14. db, err := gorm.Open("mysql", "root:root@(127.0.0.1:3306)/orm?charset=utf8")
  15. if err != nil {
  16. fmt.Println("数据库连接失败", err.Error())
  17. }
  18. defer db.Close() //使用后关闭
  19. }

  1. package main
  2. import (
  3. "fmt"
  4. _ "github.com/go-sql-driver/mysql" //引入mysql驱动
  5. "github.com/jinzhu/gorm"
  6. )
  7. type Person struct {
  8. Id int //序号
  9. Name string //姓名
  10. Age int //年龄
  11. Sex string //性别
  12. }
  13. func main() {
  14. db, err := gorm.Open("mysql", "root:root@(127.0.0.1:3306)/orm?charset=utf8")
  15. if err != nil {
  16. fmt.Println("数据库连接失败", err.Error())
  17. }
  18. defer db.Close() //使用后关闭
  19. db.AutoMigrate(&Person{}) //自动迁移,保持表是最新的
  20. user1 := Person{1, "小明", 8, "男"} //实例化Person结构体,user1是一个对象
  21. user2 := Person{2, "小红", 88, "女"}
  22. user3 := Person{3, "小华", 888, "人妖"}
  23. db.Create(&user1) //插入数据
  24. db.Create(&user2)
  25. db.Create(&user3)
  26. }

代码执行,自动新增了一个people表。
image.png
image.png

  1. package main
  2. import (
  3. "fmt"
  4. _ "github.com/go-sql-driver/mysql" //引入mysql驱动
  5. "github.com/jinzhu/gorm"
  6. )
  7. type Person struct {
  8. Id int //序号
  9. Name string //姓名
  10. Age int //年龄
  11. Sex string //性别
  12. }
  13. func main() {
  14. db, err := gorm.Open("mysql", "root:root@(127.0.0.1:3306)/orm?charset=utf8")
  15. if err != nil {
  16. fmt.Println("数据库连接失败", err.Error())
  17. }
  18. defer db.Close() //使用后关闭
  19. db.AutoMigrate(&Person{}) //自动迁移,保持表是最新的
  20. // user1 := Person{1, "小明", 8, "男"} //实例化Person结构体,user1是一个对象
  21. // user2 := Person{2, "小红", 88, "女"}
  22. // user3 := Person{3, "小华", 888, "人妖"}
  23. //增
  24. // db.Create(&user1)
  25. // db.Create(&user2)
  26. // db.Create(&user3)
  27. //查
  28. var u1 Person
  29. db.Find(&u1, "name=?", "小红") //name=小红的记录
  30. fmt.Println(u1)
  31. }

image.png

  1. package main
  2. import (
  3. "fmt"
  4. _ "github.com/go-sql-driver/mysql" //引入mysql驱动
  5. "github.com/jinzhu/gorm"
  6. )
  7. type Person struct {
  8. Id int //序号
  9. Name string //姓名
  10. Age int //年龄
  11. Sex string //性别
  12. }
  13. func main() {
  14. db, err := gorm.Open("mysql", "root:root@(127.0.0.1:3306)/orm?charset=utf8")
  15. if err != nil {
  16. fmt.Println("数据库连接失败", err.Error())
  17. }
  18. defer db.Close() //使用后关闭
  19. db.AutoMigrate(&Person{}) //自动迁移,保持表是最新的
  20. // user1 := Person{1, "小明", 8, "男"} //实例化Person结构体,user1是一个对象
  21. // user2 := Person{2, "小红", 88, "女"}
  22. // user3 := Person{3, "小华", 888, "人妖"}
  23. //增
  24. // db.Create(&user1)
  25. // db.Create(&user2)
  26. // db.Create(&user3)
  27. // db.Table("test").Create(&Person{}) //不插入数据,自定义表名为test
  28. //查
  29. // var u1 Person
  30. // db.Find(&u1, "name=?", "小红") //name=小红的记录
  31. // fmt.Println(u1)
  32. //改
  33. db.Table("people").Where("id=?", 1).Update("name", "小明") //从people表查询id=1的记录,把name改成小明
  34. }

  1. package main
  2. import (
  3. "fmt"
  4. _ "github.com/go-sql-driver/mysql" //引入mysql驱动
  5. "github.com/jinzhu/gorm"
  6. )
  7. type Person struct {
  8. Id int //序号
  9. Name string //姓名
  10. Age int //年龄
  11. Sex string //性别
  12. }
  13. func main() {
  14. db, err := gorm.Open("mysql", "root:root@(127.0.0.1:3306)/orm?charset=utf8")
  15. if err != nil {
  16. fmt.Println("数据库连接失败", err.Error())
  17. }
  18. defer db.Close() //使用后关闭
  19. db.AutoMigrate(&Person{}) //自动迁移,保持表是最新的
  20. // user1 := Person{1, "小明", 8, "男"} //实例化Person结构体,user1是一个对象
  21. // user2 := Person{2, "小红", 88, "女"}
  22. // user3 := Person{3, "小华", 888, "人妖"}
  23. //增
  24. // db.Create(&user1)
  25. // db.Create(&user2)
  26. // db.Create(&user3)
  27. // db.Table("test").Create(&Person{}) //不插入数据,自定义表名为test
  28. //查
  29. // var u1 Person
  30. // db.Find(&u1, "name=?", "小红") //name=小红的记录
  31. // fmt.Println(u1)
  32. //改
  33. // db.Table("people").Where("id=?", 1).Update("name", "小明") //从people表查询id=1的记录,把name改成小明
  34. //删
  35. db.Table("people").Where("id=?", 1).Delete(Person{}) //从people表中,删除id=1的记录
  36. }