package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "root:123456@(127.0.0.1:3306)/golang") if err != nil { panic(err) } fmt.Println(db.Ping()) // defer db.Close() rows, _ := db.Query("select * from stu") printResult(rows) columns, _ := rows.Columns() scanArgs := make([]interface{}, len(columns)) values := make([]interface{}, len(columns)) sql_info := make([]map[string]string, 0) for i := range values { scanArgs[i] = &values[i] } for rows.Next() { rows.Scan(scanArgs...) record := make(map[string]string) for i, col := range values { if col != nil { record[columns[i]] = string(col.([]byte)) } } sql_info = append(sql_info, record) } fmt.Println(sql_info)