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()
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章