這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
使用go-sql-driver操作myql資料庫
package mainimport ("database/sql"_ "github.com/go-sql-driver/mysql""fmt")func main() {//串連資料庫,獲得串連控制代碼db, err := sql.Open("mysql", "root:123456@tcp(localhost:3306)/huifang5?charset=utf8")if err != nil {panic(err.Error())}defer db.Close()//執行sql語句返回多行的結果集result, err := db.Query("select * from hf_test where keshiid=?", 0)if err != nil {panic(err.Error())}defer result.Close()//Scan需要的容器keys, _ := result.Columns() //欄位名values := make([][]byte, len(keys)) //欄位值scans := make([]interface{}, len(keys)) //Scan時的容器for i := range scans {scans[i] = &values[i] //對容器的處理,以便能在Scan之後收集到每個欄位值}//迴圈取出每一行的資料var datas []map[string]stringfor result.Next() {result.Scan(scans...)data := make(map[string]string)for k, v := range values {key := keys[k]data[key] = string(v)}datas = append(datas, data)}fmt.Println(datas)}