1. 程式人生 > >go操作mysql示例

go操作mysql示例

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