Golang對Mysql增刪改查

package main
//必須使用連接數據庫 _ "github.com/go-sql-driver/mysql"
import (
   "database/sql"
   "fmt"
   _ "github.com/go-sql-driver/mysql"
   "log"
)

func main() {
   //數據庫連接
   db, err := sql.Open("mysql",
      "root:root@tcp(127.0.0.1:3306)/order")
   if err != nil {
      log.Fatal(err)
   }else{
      fmt.Println("連接成功")
   }
   //查詢數據
   rows,err:=db.Query("SELECT * FROM test")
   //遍歷數據
   for rows.Next(){
      var id int
      var name string
      err=rows.Scan(&id,&name,)
      fmt.Println(id,name)
   }
   //插入數據
   result,err:=db.Exec("INSERT INTO test(test)VALUE (?)","測試5")
   if err != nil {
      log.Fatal(err)
   }else{
      fmt.Println(result)
   }
   //修改數據
   edit,err := db.Exec("update `test` set id=?,test=? where id=?",5,"測試5",4)
   if err!=nil{
      fmt.Println("預處理失敗:",err)
      return
   }

   if err!=nil{
      fmt.Println("執行預處理失敗:",err)
      return
   }else{
      rows,_ := edit.RowsAffected()
      fmt.Println("執行成功,影響行數",rows,"行" )
   }
   //刪除數據
   del,err := db.Exec("delete from `test` where id=?",5)
   if err!=nil{
      fmt.Println("預處理失敗:",err)
      return
   }

   if err!=nil{
      fmt.Println("執行預處理失敗:",err)
      return
   }else{
      rows,_ := del.RowsAffected()
      fmt.Println("執行成功,影響行數",rows,"行" )
   }
   defer db.Close()
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章