GoLang处理Mysql笔记

2017-12-28  本文已影响0人  文沐2023

针对mysql数据库:

首先go提供了database/sql接口用于注册数据库驱动。

常使用github.com/go-sql-driver/mysql 数据库驱动进行数据处理。

首先下载mysql数据库驱动。执行

go get github.com/go-sql-driver/mysql

如果你已经下载完毕,那么你就可以在gopath/pkg包文件目录看到他了。

那么我们如何使用这个驱动进行数据库的增删改查操作呢?

so

package main

import(
   _ "github.com/go-sql-driver/mysql" //导入这个包
   "database/sql"  //而且要导入这个包
   "fmt"
)

func main(){
   //首先我们打开一个数据库驱动
   db , err := sql.Open("mysql" , "root:@/test?charset=utf8")
   if err != nil{
      panic(err)
   }

   //接下来,我们添加一条数据
   qry , err := db.Prepare("INSERT INTO t_user (name,age) VALUES (?,?)")
   if err != nil{
      panic(err)
   }
   res , err := qry.Exec("xin2017","26")
   if err != nil{
      panic(err)
   }
   fmt.Println(res.LastInsertId())

   //然后,我们需要查看一下刚才添加的数据
   users , err := db.Query("select id,name,age from t_user")
   if err != nil{
      panic(err)
   }
   for users.Next(){ //遍历一下数据
      var id int
      var name string
      var age int
      users.Scan(&id , &name ,&age)
      fmt.Println(id,name,age)
   }

   //再然后,我们修改一下id=1的用户的昵称为‘萌妹子2018’
   qry2 , err := db.Prepare("UPDATE t_user SET name = 'meng2018' where id = ?")
   if err != nil{
      panic(err)
   }
   updaterow , err := qry2.Exec(1)
   if err != nil{
      panic(err)
   }
   affectrow , err:= updaterow.RowsAffected()
   if err != nil{
      panic(err)
   }
   fmt.Println(affectrow)

   //最后,我们删除刚才添加的所有的name='xin2017'
   qry3 , err := db.Prepare("DELETE from t_user WHERE name = ?")
   if err != nil{
      panic(err)
   }
   deleterow , err := qry3.Exec("xin2017")
   if err != nil{
      panic(err)
   }
   affectrow2 , err:= deleterow.RowsAffected()
   if err != nil{
      panic(err)
   }
   fmt.Println(affectrow2)
}

ps : 在此做个学习之后的产出。说不好某个想你的夜晚,我就忍不住打开看了一遍。。。最后默念一个字:赏!!!

上一篇下一篇

猜你喜欢

热点阅读