golang数据库操作

前端之家收集整理的这篇文章主要介绍了golang数据库操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. package main
  2.  
  3. import (
  4. "database/sql"
  5. _ "github.com/go-sql-driver/MysqL"
  6.  
  7. "fmt"
  8. )
  9.  
  10. func main() {
  11.  
  12. //连接数据库,获得连接句柄
  13. db,err := sql.Open("MysqL","root:123456@tcp(localhost:3306)/huifang5?charset=utf8")
  14. if err != nil {
  15. panic(err.Error())
  16. }
  17. defer db.Close()
  18.  
  19. //执行sql语句返回多行的结果集
  20. result,err := db.Query("select * from hf_test where keshiid=?",0)
  21. if err != nil {
  22. panic(err.Error())
  23. }
  24. defer result.Close()
  25.  
  26. //Scan需要的容器
  27. keys,_ := result.Columns() //字段名
  28. values := make([][]byte,len(keys)) //字段值
  29. scans := make([]interface{},len(keys)) //Scan时的容器
  30. for i := range scans {
  31. scans[i] = &values[i] //对容器的处理,以便能在Scan之后收集到每个字段值
  32. }
  33.  
  34. //循环取出每一行的数据
  35. var datas []map[string]string
  36. for result.Next() {
  37. result.Scan(scans...)
  38. data := make(map[string]string)
  39. for k,v := range values {
  40. key := keys[k]
  41. data[key] = string(v)
  42. }
  43. datas = append(datas,data)
  44. }
  45.  
  46. fmt.Println(datas)
  47. }

猜你在找的Go相关文章