go操作mysql示例
阿新 • • 發佈:2018-12-28
go訪問mysql需要進行導包.就這裡需要注意點.
import ( //mysql的驅動包 _ "github.com/Go-SQL-Driver/MySQL" "database/sql" "fmt" ) func checkErr(err error) { if err != nil { panic(err) } } /** 這玩意是寫一行程式碼就是一個異常錯誤的檢查,簡直是腦殼進水了的設計.......... 除了插入檢查了異常,其他的都沒有檢查異常....好麻煩,以後自己用的時候需要自己再好好封裝一遍 */ func main() { //獲取db連結,分別是資料庫型別, mysql的賬號:密碼@/資料庫名 db,err:=sql.Open("mysql","root:[email protected]/vspmanager?charset=utf8") checkErr(err) // 插入資料 stmt, err :=db.Prepare("INSERT INTO `diag_info` (`diag_id`, `diag_name`, `diag_code`, `diag_alias_name`) VALUES (?, ?, ?, ?)") checkErr(err) res,err:=stmt.Exec(2,"zhaojun","110","無名") checkErr(err) id, err := res.LastInsertId() fmt.Println(id) // 更新資料 stmt, err = db.Prepare("update diag_info set diag_name=? where diag_id=?") res, err = stmt.Exec("zhaojun哈哈哈",1) affect, err :=res.RowsAffected() fmt.Println(affect) // 查詢資料 rows, err := db.Query("SELECT * FROM diag_info limit 10") for rows.Next() { var id int var diag_name string var diag_code string var diag_alias_name string err = rows.Scan(&id, &diag_name, &diag_code, &diag_alias_name) fmt.Println(id) fmt.Println(diag_name) fmt.Println(diag_code) fmt.Println(diag_alias_name) } // 刪除資料 stmt, err = db.Prepare("delete from diag_info where diag_id=?") res, err = stmt.Exec(1) affect, err = res.RowsAffected() fmt.Println(affect) db.Close() }
其實沒啥難的.就是這種原生的操作方式很累,每一步都需要進行異常的檢查,我是偷懶所以去掉了.
以後真正的使用的時候必然是要再封裝一遍的.
好了,go的學習就暫時先到這裡了,暫時不再繼續深入下去了,因為現在的實際業務場景裡也沒有用到的了,等什麼時候用到了再繼續深入的學習了.還是繼續學習java的東西嘍.
我練習的go 的 github 的程式碼庫是:
https://github.com/changhe626/gogogo.git
https://github.com/changhe626/go-web.git