GoLang处理Mysql笔记

针对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 : 在此做个学习之后的产出。说不好某个想你的夜晚,我就忍不住打开看了一遍。。。最后默念一个字:赏!!!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容