Go语言操作mysql实现增删改查

下载驱动:
               
sudo go get github.com/go-sql-driver/mysql   前提是安装了golang 和 git 程序
下载完查看下载路径:   go env  查看GOPATH的路径。   
引入依赖:
 
  
import (
   "database/sql"
   "fmt"
   _ "github.com/go-sql-driver/mysql"
   "log"
)

创建一个连接:
 
  
func main() {
   //打开数据库
   //DSN数据源字符串:用户名:密码@协议(地址:端口)/数据库?参数=参数值
   db, err := sql.Open("mysql", "登录名:密码@tcp(数据库的ip地址:端口)/test?charset=utf8")
   if err != nil {
      fmt.Println(err)
   }
   // insert(db)

   //selectd(db)

   //updateUser(db)
   deletcUser(db)
}

添加操作:
 
  
//添加操作
func insert(db *sql.DB){

   stmt, err := db.Prepare("INSERT INTO user(name, age) VALUES(?, ?)")
   defer stmt.Close()

   if err != nil {
      log.Println(err)
      return
   }
   stmt.Exec("乔峰", "25")
   stmt.Exec("段誉", "25")
   stmt.Exec("虚竹","26")
}

查询操作:
 
  
//查询操作
func selectd(db *sql.DB){


   rows, err := db.Query("SELECT * FROM user")
   defer rows.Close()
   if err != nil {
      log.Print(err)
      return
   }

   for rows.Next() {

      var id int
      var name string
      var age string
      rows.Columns()
      err = rows.Scan(&id, &name, &age)

      fmt.Println("序号:",id)
      fmt.Println("名字:",name)
      fmt.Println("年龄:",age)
   }

}
 
  
修改操作:
 
  
func  updateUser(db *sql.DB)  {

   stmt, err := db.Prepare("UPDATE user SET name=?,age=? WHERE id=?")

   defer stmt.Close()
   if err != nil{
      log.Print(err)
      return
   }
   res, err := stmt.Exec("丐帮帮主", "79", 1)

   num, err := res.RowsAffected()

   fmt.Println(num)

}

删除操作:
 
  
func deletcUser(db *sql.DB){

   stmt, err := db.Prepare(`DELETE FROM user WHERE id=?`)
   defer stmt.Close()

   if err != nil{
      log.Print(err)
      return
   }
   res, err := stmt.Exec(1)

   num, err := res.RowsAffected()

   fmt.Println(num)


}

你可能感兴趣的:(Go语言操作mysql实现增删改查)