五分鐘beego框架圖文簡介講解03-go語言簡單方式操作MySQL數據庫

|版權聲明:本文爲博主原創文章,未經博主允許不得轉載。博客地址:https://blog.csdn.net/sgsgy5

2.8Go操作MySQL數據庫(簡單方法)

  • 安裝go操作MySQL的驅動

    go get -u -v github.com/go-sql-driver/mysql
    
  • go簡單操作MySQL數據庫

    • 導包

      import "github.com/go-sql-driver/mysql"
      
    • 連接數據庫,用sql.Open()方法,open()方法的第一個參數是驅動名稱,第二個參數是用戶名:密碼@tcp(ip:port)/數據庫名稱?編碼方式,返回值是連接對象和錯誤信息,例如:

      conn,err := sql.Open("mysql","root:123456@tcp(127.0.0.1:3306)/test?charset=utf8")
      defer conn.Close()//隨手關閉數據庫是個好習慣
      
    • 執行數據庫操作,這一步分爲兩種情況,一種是增刪改,一種是查詢,因爲增刪改不返回數據,只返回執行結果,查詢要返回數據,所以這兩塊的操作函數不一樣。

      創建表

      創建表的方法也是Exec(),參數是SQL語句,返回值是結果集和錯誤信息:

      res ,err:= conn.Exec("create table user(name VARCHAR(40),pwd VARCHAR(40))")
      beego.Info("create table result=",res,err)
      

      增刪改操作

      執行增刪改操作語句的是Exec(),參數是SQL語句,返回值是結果集和錯誤信息,通過對結果集的判斷,得到執行結果的信息。以插入數據爲例代碼如下:

      res,_:=conn.Exec("insert into user(name,pwd) values (?,?)","tony","tony")
      count,_:=res.RowsAffected()
      this.Ctx.WriteString(strconv.Itoa(int(count)))  
      

      查詢操作

      用的函數是Query(),參數是SQL語句,返回值是查詢結果集和錯誤信息,然後循環結果集取出其中的數據。代碼如下:

      data ,err :=conn.Query("SELECT name from user")
      	var userName string
      	if err == nil{
      		for data.Next(){
      			data.Scan(&userName)
      			beego.Info(userName)
      		}
      	}
      

      全部代碼

      //連接數據庫
      conn,err := sql.Open("mysql","root:123456@tcp(127.0.0.1:3306)/test?charset=utf8")
      	if err != nil{
      		beego.Info("鏈接失敗")
      	}
      	defer conn.Close()
      //建表
      	res ,err:= conn.Exec("create table user(userName VARCHAR(40),passwd VARCHAR(40))")
      	beego.Info("create table result=",res,err)
      //插入數據
          res,err =conn.Exec("insert user(userName,passwd) values(?,?)","itcast","heima")
      	beego.Info(res,err)
      //查詢數據
      	data ,err :=conn.Query("SELECT userName from user")
      	var userName string
      	if err == nil{
      		for data.Next(){
      			data.Scan(&userName)
      			beego.Error(userName)
      		}
      	}
      
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章