在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
func selects() { db, err := sql.Open("mysql", "root:root@tcp(127.0.0.1:3306)/test?charset=utf8&parseTime=True&loc=Local") checkErr(err) // 查询数据 //查询数据,取所有字段 rows2, _ := db.Query("SELECT * FROM people") //返回所有列 cols, _ := rows2.Columns() //这里表示一行所有列的值,用[]byte表示 vals := make([][]byte, len(cols)) //这里表示一行填充数据 scans := make([]interface{}, len(cols)) //这里scans引用vals,把数据填充到[]byte里 for k, _ := range vals { scans[k] = &vals[k] } i := 0 result := make(map[int]map[string]string) for rows2.Next() { //填充数据 rows2.Scan(scans...) //每行数据 row := make(map[string]string) //把vals中的数据复制到row中 for k, v := range vals { key := cols[k] fmt.Printf(string(v)) //这里把[]byte数据转成string row[key] = string(v) } //放入结果集 result[i] = row i++ } //fmt.Println(result) for k, v := range result { fmt.Printf("第%d行", k) fmt.Println(v["id"] + "===>" + v["first_name"]) } db.Close() }
|
请发表评论