go查詢mysql到list


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()
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM